異構(gòu)計算已經(jīng)成了半導(dǎo)體業(yè)界不得不思考的一個話題,傳統(tǒng)通用計算的性能捉襟見肘,過去承諾的每隔一段時間芯片性能翻倍的豪言壯語已經(jīng)沒有人再提了。如今我們用到的手機中,各種除CPU以外的計算單元層出不窮,無論是神經(jīng)網(wǎng)絡(luò)處理器還是圖像處理器。
異構(gòu)計算的存在可以說創(chuàng)造了另一個維度,這個維度上我們又有了堆性能的空間,小至手機SoC、汽車芯片,大到服務(wù)器芯片和超算處理器,異構(gòu)帶來了更大的算力。但與此同時,異構(gòu)計算也帶來了一些潛在的問題。
異構(gòu)計算的崛起
異構(gòu)計算其實早在計算機時代的早期就開始零星出現(xiàn)了,比如英特爾在80年代推出的浮點協(xié)處理器(FPU)i487,Inmos./ST在1996年推出的多媒體加速器Chameleon等等。轉(zhuǎn)眼進入了新世紀(jì),異構(gòu)出現(xiàn)的頻率也越來越高,2010年蘋果推出了首個自研的處理器A4,將CPU、GPU和其它加速器集成至一起。在超算領(lǐng)域,加速器和協(xié)處理器也數(shù)量也在逐步增加。
2020年以后,各國的超級計算機計劃都定位在了Exascale的百億億級別,要想實現(xiàn)目標(biāo),要么靠堆核心規(guī)模來堆性能,要么就是選擇異構(gòu)計算。如今前十的超算系統(tǒng)中,有一半以上都采用了CPU+GPU的異構(gòu)設(shè)計。
明眼人都能看出,這種CPU+GPU的異構(gòu)設(shè)計也開始變得愈發(fā)緊密,比如英偉達今年宣布的Arm CPU Grace,該處理器靠著英偉達專利互聯(lián)技術(shù)NVLink的加持,成功將CPU與GPU之間的互聯(lián)速度做到了夸張的900GB/s,是傳統(tǒng)PCIe的10倍以上,CPU更是靠LPDDR5X實現(xiàn)了500GB/s的內(nèi)存帶寬。
非傳統(tǒng)的架構(gòu)更是層出不窮,Graphcore的IPU、谷歌的TPU、矢量引擎和FPGA等等,相信XPU的命名形式馬上就要用完26個字母了。促使大家選擇異構(gòu)的動力究竟是什么?答案很簡單,異構(gòu)給到了一個更高效的方案,能夠?qū)崿F(xiàn)的算力更高。既然你CPU在計算上落后了,我GPU自然要上位,更何況我還有這么多成熟的I/O和互聯(lián)技術(shù)為我撐腰。
異構(gòu)計算真就完美無缺?
異構(gòu)計算就真的如此完美嗎?并非如此。異構(gòu)計算的存在其實也引出了不少隱患,比如極度差異化的編程模型,從過去的單向編程轉(zhuǎn)為了多向編程。因為異構(gòu)系統(tǒng)中存在多個計算設(shè)備,又有著不同的系統(tǒng)架構(gòu)、指令集和編程模型,因此異構(gòu)系統(tǒng)的編程與傳統(tǒng)的CPU編程相比有很大的差距。通常來說,異構(gòu)混合計算系統(tǒng)需要多套不同的代碼,這增大了應(yīng)用開發(fā)的難度,紙面參數(shù)是好看了,卻苦了軟件開發(fā)者。
其次,GPU、FPGA和AI處理器廠商都推出了截然不同的加速器方案,這些方案不僅僅采用了自己專用的處理器架構(gòu),還有自己的執(zhí)行指令和編譯器。在這樣不統(tǒng)一的架構(gòu)下,將并行程序移植到異構(gòu)處理器上需要的可不只是重新編譯,還有代碼重寫。也正因如此,HPC的代碼生態(tài)雖然不弱,但近半數(shù)以上可能永遠都不會被移植到其他加速器上,甚至這一部分工作量還分攤到了加速器廠商的軟件開發(fā)工作量上。
所以,必須得使用優(yōu)秀的軟件棧,這樣才能讓開發(fā)者充分利用異構(gòu)處理器的計算資源,而不用在編程時考慮復(fù)雜的硬件細節(jié)?,F(xiàn)在已經(jīng)有了不少跨平臺的編程標(biāo)準(zhǔn),比如C++/Fortran、OpenMP、SYCL和Kokkos等。
最后是復(fù)雜的數(shù)據(jù)存取過程,異構(gòu)帶來的不僅是不同層級的計算架構(gòu),還有不同層級的存儲架構(gòu),比如主存儲、主緩存、設(shè)備主存、設(shè)備緩存和寄存器等等。數(shù)據(jù)要在多種存儲類型之間移動,程序執(zhí)行要在同時對多種存儲進行存取,這些存儲方式的帶寬和延遲也不盡相同。
異構(gòu)計算的未來
在近期舉辦的CIUK 2021大會上,HPC研究組的Simon McIntosh-Smith教授發(fā)表了他自己對異構(gòu)計算未來的看法。他認為異構(gòu)計算的趨勢還將繼續(xù)發(fā)展下去,差異化不會消失,但也不會出現(xiàn)極度差異化的情況。
其次CPU與GPU的關(guān)系將更加緊密,比如緩存一致和封裝集成等,其他加速器在特定場景下聲稱的性能數(shù)據(jù)都很優(yōu)秀,但要說通用計算性能,GPU還是要略勝一籌。而且依目前的趨勢來看,CPU也在慢慢汲取GPU上的優(yōu)點,比如HBM、寬矢量處理器的核心、核心內(nèi)部的加速器等等。編程的困境固然已經(jīng)有了改善的跡象,但還有一段長路要走。
審核編輯:何安淇
-
cpu
+關(guān)注
關(guān)注
68文章
10863瀏覽量
211760 -
異構(gòu)計算
+關(guān)注
關(guān)注
2文章
101瀏覽量
16297
原文標(biāo)題:異構(gòu)計算的前世今生
文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論