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