異構計算:
異構計算要使用不同類型的處理器來處理不同類型的計算任務。常見的計算單元包括CPU、GPGPU、GPDSP、ASIC、FPGA和其它類型的眾核處理器等。
目前有很多加速卡或者協處理器,用於增加系統性能,常見的有:
GPGPU 是最常見的加速卡,通過PCI-e相連。 GPU 最早是用於圖形處理卡,即顯卡,后來慢慢發展成為加速卡。2010年,天河一號使用CPU+GPU異構結構獲得TOP500第一。當時,天河一號采用的是GPU是AMD的。 天河一號A采用的是Nvidia的GPU卡。
Xeon Phi 是intel生產的協處理器,通過PCI-e 相連。目的是於GPU抗衡,因為Intel顯卡不是優勢。天河二號采用的便是 Xeon E5 + Xeon Phi。
FPGA 加速卡在2014年也提出了。在SC14, Xilinux便展示了Alpha Data 公司生產的 ADM-PCIE-7V3 FPGA加速板,通過PCIe和host cpu相連,加載Virtex 7系列。FPGA最初的應用是為了驗證邏輯設計,即作為開發板,即用於驗證邏輯設計,然后將該設計流片,生成ASIC芯片。現在,FPGA已經作為加速卡(即插即用)!!
GPDSP 因為美國Intel禁售Xeon Phi,因此國防科大提出GPDSP作為協處理器,目前還在醞釀中。
下面是轉載:
****************************************************************************************************
異構計算是一種分布式計算,它或是用能同時支持SIMD方式和MIMD方式的單個獨立計算機,或是用由高速網絡互連的一組獨立計算機來完成計算任務。采用異構計算架構的超算會使用至少2種類型的處理器,其中異構計算架構中通用CPU負責邏輯復雜的調度和串行任務,加速器負責並行度高的任務,實現計算加速。具體來說,采用異構計算架構的超算在運算中既使用處理器,又使用GPU或眾核芯片等加速器。以美國泰坦和中國天河2號為例,泰坦有18688個運算節點,每個運算節點由1個16核心AMD-Opteron-6274處理器和1個NVIDIA-Tesla-K20加速器組成,共計299008個運算核心;天河2號有16000個計算節點,每個節點由2片Intel-E5-2692和3片Xeon-Phi組成,共使用了32000片Intel-E5-2692和48000片Xeon-Phi。除了泰坦和天河2號之外,曙光6000和天河1號也采用的是異構計算架構。
大規模科學計算一般都能做到高度並行化,能將計算任務拆分給海量的小核心來並行執行。因此,在加速器選擇方面就產生了三個方案:
一是用GPGPU做加速器。因為GPU是大寬度並行結構(GPU擁有海量SIMD計算單元),高端GPU的資源集成度非常高,能很容易做到非常高的理論雙精浮點計算能力。以英偉達最新的加速卡K80為例,該加速卡功耗300W,雙精浮點高達2.9TFlops。
二是用眾核芯片做加速器。一方面添加浮點、向量指令(比如Intel的AVX、FMA,龍芯的LoongSIMD)提升浮點性能。另一方面堆砌核心數量,比如Intel的第一代Xeon-PHI就有60核,雙精浮點性能為1T,功耗為300W;龍芯也曾經有過16核的龍芯3C的方案,但在工作進度完成大半后被迫放棄。
三是用GPDSP做加速器。國防科大自主研發了矩陣2000以替代Intel的Xeon-PHI,矩陣2000雙精浮點達2.4T,功耗200W,雖然離第二代至強PHI雙精浮點3T的性能有差距,但性能和性能-功耗比都足以笑傲天河2號正在使用的Intel第一代至強PHI,成為天河2A升級計划中至強PHI計算卡的理想替代品。
****************************************************************************************************
GPGPU和GPDSP的優缺點
GPU的大寬度並行結構能做到非常高的理論雙精浮點計算能力(英偉達的加速卡K80雙精浮點高達2.9TFlops)。但因CPU和GPU的編程模型是不一致,導致GPGPU在編程方面很不方便,只能跑OpenCL、OpenACC、CUDA代碼,不能跑OpenMP並行處理的代碼。加上GPGPU作為加速卡和CPU是不共享內存,需要程序員顯式拷貝,進而導致數據訪問速度變慢。因此,GPGPU相對而言編程麻煩、效率相對而言並不高、通用性差,但是性能-功耗比高。
GPDSP是國防科大首創,是應對美國禁售Xeon-PHI的技術儲備和秘密武器。國防科大最遲在2013年就開始着手GPDSP的研發工作。今年發布的矩陣2000采用40nm制程工藝,擁有16核,主頻1G,雙精浮點2.4T,功耗為200W。因此,矩陣2000雖然在性能上因受制於國內的制造工藝和設計水平,在性能上不如GPGPU,但在性能-功耗上已經略優於GPGPU(2.4T/200W對比 2.91T/300W),而且已經大幅優於天河2號目前使用的第一代至強PHI計算卡(2.4T/200W 對比
1T/300W)。
GPDSP相對於GPGPU更接近於CPU,可以獨立運行OS(Linux或其它實時內核),在編程方面比GPGPU稍微容易一些(其實相對於CPU兩者編程難度都很大)。矩陣2000也是帶分支能力的眾核處理器,和Xeon-
PHI是相似類型計算卡,理論上講,擴充一些GPDSP編譯指導語句也能跑OpenMP代碼。當然,GPDSP也能跑OpenCL、OpenACC並行處理代碼(異構代碼)。
因此,GPDSP雖然在性能上不如GPGPU,但在性能-功耗上已經略優於GPGPU(2.4T/200W 對比
2.91T/300W),在效率和通用性方面優於GPGPU。
GPU在做並行計算時,傳統渲染架構中的TMU、ROP等特性毫無用處,反而占用了晶體管資源。DSP是純粹向量機,不像GPU那樣有光柵化渲染占晶體管,影響管線結構。
雖然GPU是大寬度並行結構,高端GPU的資源集成度非常高,能很容易做到非常高的理論雙精浮點計算能力,但在彼此工藝和集成能力相當的情況下,舍棄圖形部分的DSP的晶體管效率更高,而且訪存效率也高於GPU傳統圖形渲染管線那種繞彎子的訪存方式。
因此,GPDSP在效率方面比GPGPU具有先天優勢,很有可能就是借鑒了GPU的Shader執行部分的管理和執行結構,但又沒有GPU那么多歷史遺留框架造成的負面影響。國防科大在天河1和天河2的研制過程中,在加速器的選擇方面把眾核處理器和GPU都試了一遍,相信選擇GPDSP路線是國防科大深思熟慮后的結果——中國在制造工藝和超大集成度芯片設計能力不如國外英偉達、IBM、Intel等國外巨頭的時候,走GPDSP路線是縮短和國外產品在絕對性能上差距的有效途徑。
根據國防科大公布的資料,因保留了天河2號的主體I/O結構,計算節點處理器依舊使用E5-2692V2,計算節點增加到18000個,按照一個計算節點需要2個E5和3個加速器來計算,天河2A需要36000片E5和54000片矩陣2000,僅54000片矩陣2000理論浮點峰值可以達到129.6Pflops。
國防科大若要將藍圖變成現實,技術難點已經不再是芯片的設計和制造,而是軟件堆棧,包括GPDPS驅動程序、操作系統、編譯器、基礎庫等,這是一項工程量巨大的工作。
❤ᎻᎯᏉᏋ Ꭿ ᏪᏐᏨᏋ❤
' /\_,,,,_/\ ☀ᎠᎯᎽ☀
'┃ ❚ ❚ ┃
'┃ΞΞ↧ΞΞ┃
'╰┳━┳╯
'╭┫ ┣╮
'┺┻┻┻┹