圖靈獎得主Jack Dongarra:高效能運算與AI大融合,如何顛覆科學運算
在過去的三十年間,高效能運算(HPC)取得了突飛猛進的進展,在科學計算等領域發揮著重要的作用。而目前,雲端運算與行動運算正逐漸成為主流的運算範式,同時深度學習等AI方法所帶來的顛覆性影響,為HPC與AI的融合帶來了新的挑戰與機會。在第十屆全國社會媒體處理大會(SMP 2022)上,圖靈獎得主Jack Dongarra梳理了高效能運算近年來最主要的應用與發展。
Jack Dongarra,高效能運算專家,2021年圖靈獎得主,美國田納西大學創新計算實驗室主任。其對數值演算法和函式庫的開創性貢獻,使高效能運算軟體在四十多年中與硬體的指數級改進保持同步。他獲得過許多學術成就,包括 2019 年獲得 SIAM / ACM 計算科學與工程獎,2020 年他因高效能數學軟體領域的領導能力獲得 IEEE 電腦先鋒獎。他是 AAAS、ACM、IEEE 和 SIAM 的研究員,英國皇家學會的外國研究員,以及美國國家工程院的成員。
1 高效能運算廣泛應用於科學的「第三極」
目前,高效能運算(HPC)方法廣泛地應用於科研仿真,而仿真也被譽為科學研究的「第三極」。 一直以來,科學研究和工程研究通常採用基於理論和實驗的範式。然而,這兩種方法存在著許多固有的限制,例如,通常建造大型的風洞非常的困難,試驗飛機引擎與飛鳥碰撞的成本將非常昂貴,等待觀察氣候變遷將會非常的耗時與緩慢,新藥品和武器等試驗將會非常的危險等等。此外,我們有時無法透過實驗來研究某些問題,例如研究星系運動和研發新藥品等。因此,研究者逐漸利用科學計算手段進行仿真,研究此類問題。這種方法通常基於已知的物理規律和數位運算方法,透過高效能的電腦系統模擬相應的物理現象。
2 算力之巔-超級電腦
人們一般是基於商品化的成熟晶片建構典型的超級計算機,在一個闆卡上整合多個晶片,每個晶片中都擁有多個核心(Core)。同時,通常會在闆卡上使用圖形處理單元(GPU)等作為增強算力的加速器。在同一機架櫃上,不同的闆卡通過高速的鏈接進行通信,不同的機櫃通過交換機(switch)互聯在一起,這樣組成的一個超級計算機可能需要佔用兩個網球場那麼大的空間。
這樣的超級電腦的平行性非常之高,通常採用的是分散式記憶體和「MPI Open-MP」的程式設計範式。與資料的浮點計算相比,在HPC系統不同部分之間資料的移動非常的昂貴。現有的超級電腦支援包括64,32,16,8等位寬的不同的精度的浮點計算。
目前,最快的超級電腦能夠提供Exaflop/s等級(1018)的算力。 這是一個非常巨大的數值,如果每個人一秒鐘完成一次乘加計算,那麼,需要全球所有人花費四年的時間才能完成超級電腦一秒鐘完成的計算。同時,為了維持這樣的超級電腦的運轉,每年需要花費千萬美元的電費。
從過去近三十年間全球超級電腦TOP500的效能變化情況可以發現,超算效能近乎維持著指數級的成長速度。 有趣的是,如今日常所使用的MacBook的性能,比1993年當時世界上最先進的超級電腦的性能還要強大,當時那台電腦製造於洛斯阿拉莫斯國家實驗室,主要用於核武器設計。今年6月的數據顯示,全球排名前10的超級電腦當中,有5個來自美國,有2個來自中國(分別位於無錫和廣州),其餘3個來自芬蘭、日本和法國。
3 「和不同」的HPC & ML/AI
#HPC和ML計算有著即相似又不同的特性。 HPC屬於數位運算密集型的,通常輸入非常有限的數據,經過非常大量的數字計算,輸出大量的數據。而在ML領域進行高效能資料處理(HPDA),通常需要輸入大量的數據,輸出的卻是相對比較少的數據。兩者使用的數據精度也非常不同,在科學模擬等高效能運算場景下通常使用64位元浮點數據,而在機器學習場景下會使用16位元浮點數據。
##AI在科學研究的許多不同的方面發揮著非常重要的作用:AI能夠在不同領域輔助科學發現,提高計算體系結構的效能,以及在邊緣管理和處理大量資料。因此,在科學計算領域機器學習等技術被應用到氣候學、生物學、藥學、流行病學、材料學、宇宙學甚至高能物理等等很多學科以提供增強的模型和更先進的模擬方法。例如,用深度學習輔助藥品研發、預測流行病以及對基於醫學影像的腫瘤進行分類等等。
科研模擬和AI計算可以非常有效地進行聯合,因為二者都需要模型和資料。通常,模擬使用(數學)模型產生數據,(AI)分析使用數據來產生模型。使用分析方法得到的模型和其他的模型一起可以被用到模擬中去;模擬產生的資料和其他來源的資料一起可以用來分析。這樣就形成了一個互相促進的良性循環。
除了在具體的應用領域中互相補充之外,HPC&AI在基本開發方法、軟體與軟體基礎設施和AI硬體架構等領域都有非常多的聯繫。同時也將二者更廣泛地連結起來,例如:AI可以用來引導模擬、更快地調整模擬應用的參數、提供客製化的計算核函數,以及將傳統的HPC和神經形態計算結合等很多內容。 AI&ML具有顛覆性的影響力,正如通常所說:「AL&ML並不會取代科學家,但是使用AI&ML工具的科學家會取代那些不使用這些工具的科學家」。
4 展望未來:HPC系統將更客製化
未來的HPC系統將可以被客製化。 目前,HPC主要有CPU和GPU兩種類型的處理器,未來將採用更多不同的單元,例如FPGA、ML加速器和ASIC晶片等等。更多採用不同結構和範式的處理器將會越來越多地添加HPC計算系統當中,例如神經形態處理處理、量子計算以及光計算等或將發揮越來越重要作用。在建構新的HPC系統的時候,人們將能夠按需使用相應的模組與功能。
5 總結
HPC硬體不斷地演進,有標量計算機器、向量計算機器、分散式系統、加速器以及混合精度計算機器等等。目前電腦領域發生著三個重大的變化,高效能運算、深度學習、以及邊緣運算與人工智慧。演算法和軟體應該隨著硬體不斷的演化,正如Leiserson等人的論文所述,在摩爾定律之後,仍有很大的空間可以透過演算法、軟體和硬體架構去提升HPC系統的終極效能。
6 Q&A
問題1:目前,業界和學界都比較關注神經網路大模型的訓練,例如GPT3等具有超過1700億的參數量,通常需要百個高性能的GPU訓練1~3個月。未來採用高效能電腦可以在幾天或幾個小時內完成相關的訓練嗎?
回答1:GPU為電腦提供了強大的數值運算的能力。例如,超級電腦中98%的算力來自於GPU。而在CPU和GPU之間移動資料非常耗時。為了減少成本高昂的資料移動,可以透過將GPU和CPU距離更貼近的方法,採用Chiplet等晶片設計方法或更為切實可行的實現路徑。另外,直接將資料和對應的處理單元更近的方法對於解決資料搬運成本高昂的問題也將非常有幫助。
問題2:我們觀察到一個現象,目前很多機器學習演算法可以和硬體一起演化,並且相互影響。例如,目前ML領域效能最好的Transformer模型,英偉達等公司專門為其設計了專用的架構,讓Transformer更好用。您是否觀察到這樣的現象,如何評論?
回答2:這是一個非常好的例子,展現了硬體設計和其他方面的相互促進。目前許多硬體研究人員密切關注產業的變化,並對趨勢做出判斷。將應用與硬體進行聯合設計可以顯著地提升效能,進而銷售更多的硬體。我認同這種「演算法和硬體共同演化」的說法。
問題3:您指出未來高效能運算將會是異質的混合。整合這些部分將是一個非常困難的問題,甚至會導致效能的降低。如果我們只是單純地使用GPU,可能會導致更好的效能。您如何評價?
回答3:目前,高效能電腦中將CPU和GPU非常鬆散地耦合在一起,需要將資料從CPU傳輸到GPU上進行運算。未來,採用不同的硬體相互耦合在一起的趨勢會持續延續。例如,使用專門的硬體做ML運算,可以是對GPU的進一步的增強。透過將ML相關的演算法載入到對應的加速器上,在加速器上執行演算法的細節並將計算結果傳輸給對應的處理器。未來也可實現可插拔的量子加速器,使其執行對應的量子演算法等等。
問題4:HPC是非常昂貴的,尤其對於研究者和中小企業而言。是否有類似雲端運算等方式能夠讓從事研究的師生和中小企業也能用得起HPC?
回答4:在美國,使用HPC需要向相關部門提交相關的申請,說明正在研究的問題和需要的計算量。如果得到批准,就不用擔心HPC使用的費用問題。在美國進行過一項是否應該將所有的HPC轉變為基於雲端的系統的研究。結果表明,基於雲端的方案比直接使用HPC系統貴2-3倍。 要注意的是這背後的經濟學假設:HPC被足夠多的人共同使用,需要解決的問題有時需要使用整個HPC系統。這種情況下擁有一個專用的HPC更優於購買雲端服務。在美國和歐洲所觀察到的現狀是這樣。
以上是圖靈獎得主Jack Dongarra:高效能運算與AI大融合,如何顛覆科學運算的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

DMA在C 中是指DirectMemoryAccess,直接內存訪問技術,允許硬件設備直接與內存進行數據傳輸,不需要CPU干預。 1)DMA操作高度依賴於硬件設備和驅動程序,實現方式因係統而異。 2)直接訪問內存可能帶來安全風險,需確保代碼的正確性和安全性。 3)DMA可提高性能,但使用不當可能導致系統性能下降。通過實踐和學習,可以掌握DMA的使用技巧,在高速數據傳輸和實時信號處理等場景中發揮其最大效能。

使用C 中的chrono庫可以讓你更加精確地控制時間和時間間隔,讓我們來探討一下這個庫的魅力所在吧。 C 的chrono庫是標準庫的一部分,它提供了一種現代化的方式來處理時間和時間間隔。對於那些曾經飽受time.h和ctime折磨的程序員來說,chrono無疑是一個福音。它不僅提高了代碼的可讀性和可維護性,還提供了更高的精度和靈活性。讓我們從基礎開始,chrono庫主要包括以下幾個關鍵組件:std::chrono::system_clock:表示系統時鐘,用於獲取當前時間。 std::chron

在C 中測量線程性能可以使用標準庫中的計時工具、性能分析工具和自定義計時器。 1.使用庫測量執行時間。 2.使用gprof進行性能分析,步驟包括編譯時添加-pg選項、運行程序生成gmon.out文件、生成性能報告。 3.使用Valgrind的Callgrind模塊進行更詳細的分析,步驟包括運行程序生成callgrind.out文件、使用kcachegrind查看結果。 4.自定義計時器可靈活測量特定代碼段的執行時間。這些方法幫助全面了解線程性能,並優化代碼。

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

在C 中處理高DPI顯示可以通過以下步驟實現:1)理解DPI和縮放,使用操作系統API獲取DPI信息並調整圖形輸出;2)處理跨平台兼容性,使用如SDL或Qt的跨平台圖形庫;3)進行性能優化,通過緩存、硬件加速和動態調整細節級別來提升性能;4)解決常見問題,如模糊文本和界面元素過小,通過正確應用DPI縮放來解決。

C 在實時操作系統(RTOS)編程中表現出色,提供了高效的執行效率和精確的時間管理。 1)C 通過直接操作硬件資源和高效的內存管理滿足RTOS的需求。 2)利用面向對象特性,C 可以設計靈活的任務調度系統。 3)C 支持高效的中斷處理,但需避免動態內存分配和異常處理以保證實時性。 4)模板編程和內聯函數有助於性能優化。 5)實際應用中,C 可用於實現高效的日誌系統。

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

C 中使用字符串流的主要步驟和注意事項如下:1.創建輸出字符串流並轉換數據,如將整數轉換為字符串。 2.應用於復雜數據結構的序列化,如將vector轉換為字符串。 3.注意性能問題,避免在處理大量數據時頻繁使用字符串流,可考慮使用std::string的append方法。 4.注意內存管理,避免頻繁創建和銷毀字符串流對象,可以重用或使用std::stringstream。
