傳統(tǒng)的以處理器(CPU)為核心的計算系統(tǒng)正面臨前所未有的挑戰(zhàn),。一方面,已持續(xù)了50年的摩爾定律已明顯放緩了前進的步伐,,依賴集成電路制造技術進步所帶來“紅利”正逐漸消失,。另一方面,,成指數(shù)增長的大數(shù)據(jù)應用對計算系統(tǒng)提出了更高的存儲容量及存儲訪問的需求。具有重大創(chuàng)新的新型計算系統(tǒng)即將出現(xiàn),。
潛在的新型計算系統(tǒng)包括量子計算機,、神經(jīng)網(wǎng)絡計算機、異構計算等,。其中,,異構計算以“CPU+”的形式出現(xiàn),具有較好的可行性及通用性,并能大幅提升系統(tǒng)性能和功耗效率,,有望率先成熟并主導處理器市場,。
異構計算系統(tǒng)包括幾類形式:
1)CPU+GPU:在芯片或系統(tǒng)中集成多個CPU和圖形處理器(GPU),利用CPU運行操作系統(tǒng)和執(zhí)行串行任務,,用GPU處理3D圖形渲染,、數(shù)學密集型計算。兩者結(jié)合,,提升系統(tǒng)的性能和功耗效率,。AMD、NVIDIA,、IBM等企業(yè)在此領域投入了大量研究,。很多系統(tǒng)產(chǎn)品(如天河超級計算機)集成了數(shù)量眾多的CPU芯片和GPU芯片。
2)CPU+FPGA:在芯片或系統(tǒng)中集成CPU和FPGA,,以兼具計算,、并行化、可重構等優(yōu)點,。Altera和Xilinx的很多產(chǎn)品都集成了ARM等CPU,。Intel收購Altera之后,預計將會出現(xiàn)很多Intel CPU +Altera FPGA的產(chǎn)品,。
3)CPU+ASIC:集成CPU和ASIC,,能針對某些特定應用大幅提升性能和功耗效率,不過這種產(chǎn)品的通用性不強,。
異構計算的關鍵技術包括高速互連,、共享內(nèi)存的通信方式及統(tǒng)一化編程等。
CPU和GPU/FPGA之間需要高速,、高帶寬的數(shù)據(jù)交互,,特別是當CPU與GPU/FPGA不在同一芯片時,高速互連尤為重要,。IBM與NVIDIA合作開發(fā)了Power處理器與GPU之間的高速接口NVLink,,帶寬可達40GB/s。此外,,硅基光互連也是一個重要的高速互連研究方向,。IBM還聯(lián)合AMD、Google等公司聯(lián)合推出了OpenCAPI總線技術,,以支持CPU與外部加速器的高速互連,。
CPU和GPU需要有共享的統(tǒng)一尋址的內(nèi)存訪問機制來提升數(shù)據(jù)交互的能力。為此,,AMD,、ARM,、Qualcomm等公司建立了HSA(Heterogeneous System Architecture)聯(lián)盟并設立相關技術標準,使CPU和GPU能高效地協(xié)同處理,。
目前的CPU,、GPU,、FPGA采用不同的編程語言及編程模式,。為實現(xiàn)系統(tǒng)的無縫整合,還需要統(tǒng)一的編程?,F(xiàn)有的面向異構計算的語言有OpenCL(Open Computing Language),、OpenMP、OpenACC等,。這些編程方式還未得到全面的推廣,,需進一步提升其效率及普及性。
異構系統(tǒng)已產(chǎn)生一些成功的例子,。如天河一號A配備了14 336顆Intel Xeon CPU,,7 168顆NVIDIA GPU,以及2 048 顆飛騰處理器,。天河二號包含16 000個運算節(jié)點,,每節(jié)點配備兩顆Intel Xeon CPU、三顆Xeon Phi協(xié)處理器,。Xilinx的Spartan6集成了MicroBlaze嵌入式CPU及FPGA,,Zynq集成了ARM Cortex-A9 CPU及FPGA。Altera的Arria V集成了ARM CPU及FPGA,。Intel 的Xeon E5 2600 v4處理器據(jù)稱集成了FPGA,,每瓦性能可提升70%。
“異構計算”方興未艾,,還有很多科技及產(chǎn)業(yè)的關鍵問題有待解決,。希望《電子技術應用》雜志2017年3期的“異構計算”專欄可以起到拋磚引玉的效果,吸引學術界及產(chǎn)業(yè)屆更多的研究人員投入其中,,推動異構計算的快速發(fā)展,。