下一代計算機系統將由異構平臺組成
主要芯片制造商(如nVIDIA)最近的一些舉動較之前更確切無疑地表明,微處理器及大型高性能計算(HPC)系統未來的設計從本質上說都將是混合/異構的。這些異構系統將依賴于這兩大類型的組件以不同的比例集成。
多核及眾核CPU技術:核數仍將繼續增加,因為寄期望于既想封裝越來越多的組件到一個芯片上,同時又想繞開功耗墻、指令級并行墻及存儲器墻(等挑戰)。
專用硬件及大規模并行加速器:例如,nVIDIA的GPU近幾年在浮點性能上已超越了標準CPU。而且即便不是更容易,它們或許也已變得和多核CPU編程一樣容易了。
未來設計中這兩種組件類型間的相對平衡尚無法確定,而且似乎還會隨著時間的推移而變動。目前看起來確鑿無疑的是下一代計算機系統(從筆記本到超級計算機)都會由異構組件所組成。事實上,千萬億次(每秒1015次浮點運算)的性能屏障也是被這種系統攻克的。
然而在基于異構處理器的新型計算領域中,開發者們所面臨的問題及挑戰依然十分嚴峻。軟件基礎架構的關鍵部分早就難以跟上變化的步伐。在某些情況下,性能無法隨著核數而擴展,因為不斷增加的大部分時間都消耗在了數據移動而不是運算上。在另一些情況下,軟件的性能調優在硬件到位后的數年才姍姍完成,剛發布就已過時。在一些情況下,如在新近發布的一些GPU上,軟件根本就無法運行,因為編程環境變動得太過劇烈。
這篇文章是Jack Dongarra教授為《例釋CUDA》所作的序。《例釋CUDA》一書探討了軟件開發挑戰的核心。
該書通過舉例的形式介紹了CUDA C的編程,并洞察了構建及高效使用nVIDIA GPU的過程。它講解了并行計算的基本性概念,從簡單的例子到調試(包括邏輯的和性能的),同時也涵蓋了一些使用和構建應用相關的高級主題和問題。中文譯本由上海交通大學林新華翻譯。

Jack Dongarra 美國田納西大學校特聘教授,美國橡樹嶺國家實驗室杰出研究員