在異構(gòu)計算系統(tǒng)上進行的并行計算通常稱為異構(gòu)計算。異構(gòu)計算技術(shù)從80年代中期產(chǎn)生,由于它能經(jīng)濟有效地獲取高性能計算能力、可擴展性好、計算資源利用率高、發(fā)展?jié)摿薮?,目前已成為并?分布計算領(lǐng)域中的研究熱點之一。
目前,異構(gòu)計算在學術(shù)界與工程界獲得了廣泛關(guān)注,為了滿足廣大讀者與會員的學習需求,電子技術(shù)應用編輯部特于2015年9月12日,舉辦了主題為“基于OpenCL環(huán)境的FPGA與GPU高效計算方法” 的技術(shù)交流活動,本期Tech-Workshop圍繞異構(gòu)計算在OpenCL、FPGA方面的最新進展展開。
開啟異構(gòu)計算的新一片藍海
來自北京科技大學計算機系李建江指出,異構(gòu)計算近年來得到更多關(guān)注,主要是因為通過提升CPU時鐘頻率和內(nèi)核數(shù)量而提高計算能力的傳統(tǒng)方式遇到了散熱和能耗瓶頸。而與此同時,GPU等專用計算單元雖然工作頻率較低,具有更多的內(nèi)核數(shù)和并行計算能力,總體性能-芯片面積比和性能-功耗比都很高,卻遠遠沒有得到充分利用。
目前異構(gòu)并行計算向著以下幾個方向發(fā)展:(1)集群計算。這是傳統(tǒng)高性能計算的領(lǐng)域。但是今天高性能計算已經(jīng)演變成了異構(gòu)并行計算的一部分,越來越多的高性能計算集群使用GPU、MIC、FPGA等。
(2)單機計算。推動單機計算向異構(gòu)并行計算發(fā)展的主要動力是游戲、計算機輔助設計等,而主要表現(xiàn)是GPU+CPU的異構(gòu)計算。(3)移動計算。近幾年發(fā)展表明,人們對手機的需求比對PC的需求更大。目前幾乎所有的移動芯片解決方案都是異構(gòu)的,除了有CPU、GPU之外,還有視頻編解碼單元、音頻處理單元。傾向于把更多工作內(nèi)容轉(zhuǎn)移到手機上,但是為了保證續(xù)航時間,移動處理器的設計一開始就不是以高性能為目標,這使得要在移動處理器上獲取高性能是比較困難的。(4)嵌入式計算。在一些惡劣工作環(huán)境下,只有DSP和FPGA能夠滿足要求。
基于FPGA的異構(gòu)計算系統(tǒng)
據(jù)電子科技大學黃樂天指出,F(xiàn)PGA因其強大的運算能力成為了眾多高性能應用的最佳選擇,但其傳統(tǒng)的開發(fā)方法存在門檻高、周期長等眾多不足。OpenCL作為跨平臺的開發(fā)語言,為FPGA提供了一種全新的開發(fā)方法.此方法開發(fā)周期短、抽象層次高、可移植性強,彌補了傳統(tǒng)開發(fā)方式的不足。
黃樂天表示,以華爾街各大銀行為代表的金融公司和谷歌、百度、騰訊等為代表互聯(lián)網(wǎng)公司均已開始構(gòu)建以基于FPGA并采用OpenCL為開發(fā)手段的新型高能效異構(gòu)計算平臺?;贔PGA的異構(gòu)計算系統(tǒng)方案相比于其它競爭方案具備更高的能量利用效率,有望成為未來構(gòu)建高性能計算平臺的主流方案。
OpenCL與異構(gòu)計算
AMD(中國)異構(gòu)計算技術(shù)總監(jiān)楚含進從處理器的演進著眼,通過詳盡得分析,得出一個結(jié)論,即基于統(tǒng)一編程模型的異構(gòu)系統(tǒng)(HSA)會改變SOC的設計。而OpenCL作為GPU編程語言的重要選擇之一,具 有多個優(yōu)勢,比如可適用于多種設備平臺(CPU、GPU、MIC等);性能良好;與底層語言相比更易于理解等,是搭建異構(gòu)系統(tǒng)的最佳選擇。
楚含進還指出,人工智能的興起為異構(gòu)架構(gòu)計算處理大數(shù)據(jù)帶來契機。從虛擬現(xiàn)實到現(xiàn)實生活,利用人工智能算法處理互聯(lián)網(wǎng)大數(shù)據(jù)是一個不可避免要解決的問題。而這就要求系統(tǒng)具有強大的并行計算能力和內(nèi)存吞吐量。所以,在傳統(tǒng)高性能計算領(lǐng)域,越來越多的對于性能有很高要求的開發(fā)人員選擇了OpenCL開完成他們的設計。而AMD通過異構(gòu)開發(fā)技術(shù)社區(qū)(http://hc.csdn.net)、技術(shù)沙龍、培訓以及與高校合作等多種方式,積極推動異構(gòu)計算與OpenCL在中國的發(fā)展與普及。