《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > AET原創(chuàng) > 老兵新傳——“闖入”高性能計算領(lǐng)域的FPGA

老兵新傳——“闖入”高性能計算領(lǐng)域的FPGA

云課堂:FPGA異構(gòu)計算——原理與方法之精華問答整理
2016-10-09
來源:電子技術(shù)應(yīng)用

       自1985年首款FPGA誕生以來,F(xiàn)PGA已經(jīng)是一名在電子信息領(lǐng)域征戰(zhàn)了30年的老兵,這名戰(zhàn)功赫赫的老兵如今已經(jīng)正式開赴了一個新的戰(zhàn)場。從2011年Altera公司發(fā)布支持利用OpenCL來開發(fā)FPGA的SDK工具以后,采用CPU+FPGA構(gòu)成異構(gòu)計算系統(tǒng)成為另一種具有競爭力的解決方案。為了讓更多網(wǎng)友了解FPGA異構(gòu)計算系統(tǒng)的原理、架構(gòu)和開發(fā)流程,《電子技術(shù)應(yīng)用》特別邀請了電子科技大學(xué)黃樂天博士和電子科技大學(xué)“成電杰出學(xué)生”蒲宇亮電子技術(shù)應(yīng)用·云課堂進行了一場公益演講。

       雖然開講時間安排在9月25日,一個周日晚上的八點,仍有100多網(wǎng)友參與了學(xué)習(xí),隨后幾天學(xué)習(xí)人數(shù)已經(jīng)超過200人。

       在演講過程中,很多網(wǎng)友都提出了自己在學(xué)習(xí)CPU+FPGA異構(gòu)計算中遇到的問題,授課講師黃樂天、蒲宇亮都進行了詳細的解答。

       感興趣的網(wǎng)友還可以通過以下網(wǎng)址觀看學(xué)習(xí)視頻:

       http://webinar.chinaaet.com/zh-CN/Chinaaet/Youke/CourseDetail?courseId=541
授課講師簡介:

圖片1.png

黃樂天,電子科技大學(xué),講師,博士,《FPGA異構(gòu)計算》一書的第一作者。

《電子技術(shù)應(yīng)用》著名專家博主:老莫(http://blog.chinaaet.com/molf)主要研究方向為:多處理器片上系統(tǒng)與片上網(wǎng)絡(luò);高能效并行計算系統(tǒng);基于FPGA的新型異構(gòu)計算系統(tǒng)設(shè)計與實現(xiàn)。

圖片2.png

蒲宇亮,電子科技大學(xué)“成電杰出學(xué)生”,中興通訊公司工程師。

研究生期就讀于電子科技大學(xué)——Altera聯(lián)合實驗室,主要研究方向為基于FPGA的新型異構(gòu)計算系統(tǒng),是《FPGA異構(gòu)計算》一書的主要作者之一。2016年7月以 “藍劍”精英人才計劃(該計劃全國僅招50人)身份入職中興通訊。

精華問答整理

問題:使用的平臺是SoC還是PCIe的FPGA?

黃樂天(以下簡稱黃):我們兩個平臺都有使用過。SoC版本使用的是友晶公司提供的DE1-SoC開發(fā)板,基于PCIe的版本使用的是友晶公司提供的DE5-net,這二者在開發(fā)方法上并無本質(zhì)區(qū)別,只是在開發(fā)流程和BSP支持上稍有不同。友晶公司的技術(shù)人員提供了很好的支持。

蒲宇亮(以下簡稱蒲):兩者都可以,SoC資源較少,采用串口傳輸數(shù)據(jù)。若是對計算時間有嚴格要求則需采用PCIe傳輸?shù)腇PGA進行實現(xiàn)。

 

問題:FPGA異構(gòu)計算目前在中國主要應(yīng)用在那些領(lǐng)域?異構(gòu)計算能夠給這些領(lǐng)域帶來那些新變化?

黃:FPGA異構(gòu)計算在中國目前還處于“試用階段”,有部分公司(因為他們沒有公開報道也不太好直接點名)在預(yù)研或者實驗階段嘗試在使用這一計算模式。但基于GPU的傳統(tǒng)異構(gòu)計算已經(jīng)在并行計算領(lǐng)域得到了較大規(guī)模的應(yīng)用,如超級計算機、高性能服務(wù)器以及某些專用仿真設(shè)備。

蒲:基于OpenCL的FPGA異構(gòu)計算比較適合用在算法中存在大規(guī)模并行計算特性的系統(tǒng)中,類似傳統(tǒng)的GPU并行系統(tǒng),相比GPU系統(tǒng)能夠帶來更低的功耗和更好的計算能效,能降低運維成本。

 

問題:多核異構(gòu)是指不同的處理器集成到一起?CPU與DSP、FPGA算異構(gòu)嗎?

黃:不同的處理器集成到一起只不過是異構(gòu)計算的一個要素而已,更重要的是要用這些不同的處理器組合到一起去實現(xiàn)通用計算。這就涉及到一系列開發(fā)方法、流程和工具。如果不是去實現(xiàn)通用計算,其實就是一種獨特形式的“嵌入式系統(tǒng)設(shè)計”而已。這部分內(nèi)容在課程視頻中有專門講到。

蒲:目前研究主要是用專用硬件如DSP、FPGA對原來的CPU系統(tǒng)進行加速,但并沒有進一步挖掘原系統(tǒng)的計算能力,未來商用的異構(gòu)計算系統(tǒng)應(yīng)該是主機端和設(shè)備端各司其職,將計算密度大的模塊放在設(shè)備端進行加速,而將邏輯控制多的模塊放在主機端,這樣才能充分發(fā)揮異構(gòu)系統(tǒng)的優(yōu)勢。

 

問題:異構(gòu)的處理器時鐘如何同步?

黃:并不需要時鐘級別的同步,而是在系統(tǒng)級別解決同步的問題。利用的是多層存儲結(jié)構(gòu),基于barrier的編程方法等使數(shù)據(jù)一致性得到保證即可。這是在任何多核心系統(tǒng)或者復(fù)雜SoC設(shè)計中都被經(jīng)常采用的方法。如果對這個問題希望有深入的了解,應(yīng)該閱讀多核片上系統(tǒng)設(shè)計方面的書籍或論文。

 

問題:用ARM體系結(jié)構(gòu)和X86體系結(jié)構(gòu)作為Host,有什么區(qū)別嗎?

黃:本質(zhì)上沒有區(qū)別,Host需要是一個處理器來實現(xiàn)“主控”的功能,完成一些“準備性”和“總結(jié)性”的工作。區(qū)別只在于ARM體系結(jié)構(gòu)的處理器和X86體系結(jié)構(gòu)的處理器在執(zhí)行程序時本身性能以及能效上的差別。

蒲:Altera的SoC-de1開發(fā)板將ARM和FPGA集成到片上,相比X86體系中需要將數(shù)據(jù)在Host端和設(shè)備端傳輸,帶來的好處是傳輸速度快,延遲小。

 

問題:Host和Device對OpenCL的效能哪個影響大?

黃:由于運算加速主要依靠Device來實現(xiàn),因此Device的影響更大。但反過來說,OpenCL編程的時候需要考慮到不同Device的特性來對代碼結(jié)構(gòu)和代碼風(fēng)格加以優(yōu)化。我們之前發(fā)表過多篇論文來討論這個問題,在視頻課程的最后部分有所介紹。

蒲:Device端影響更大,因為其計算密度大,在系統(tǒng)設(shè)計時研究將哪些模塊放在Device端是一個關(guān)鍵點。

 

問題:異構(gòu)計算主要用于哪些領(lǐng)域?

黃:目前主要用于運算加速,也就是高性能計算。但由于高性能計算用途廣泛,因此也可以說異構(gòu)計算可以被用于很多領(lǐng)域。包括但不限于金融分析、天氣預(yù)報、大規(guī)模仿真等。

 

問題:KNN算法中FPGA仍然是加速器,多核異構(gòu)與X86+FPGA有啥區(qū)別?

黃:我猜想這位朋友想問的是異構(gòu)計算和利用傳統(tǒng)的設(shè)計方法在FPGA上實現(xiàn)一個加速器之間有什么區(qū)別?這其實就是代表了開發(fā)方法的不同。用傳統(tǒng)的設(shè)計方法在FPGA上實現(xiàn)一個加速器是將CPU上的軟件和FPGA上的加速器分開設(shè)計,也就是傳統(tǒng)的嵌入式系統(tǒng)的設(shè)計方法。而異構(gòu)計算是在統(tǒng)一的開發(fā)平臺,統(tǒng)一的編程模型下開發(fā)。使用OpenCL的編程框架使得CPU+FPGA架構(gòu)開發(fā)“一體化”。

 

問題:開發(fā)者在適應(yīng)異構(gòu)計算時,采用的程序開發(fā)有哪些需要特別注意到的地方嗎?

黃:這個問題很大,首先需要符合編程規(guī)范,其次需要根據(jù)器件的特點做一些代碼結(jié)構(gòu)上的優(yōu)化。具體內(nèi)容可以閱讀《FPGA異構(gòu)計算》這本書以及OpenCL編程相關(guān)章節(jié)。

蒲:需要具備并行編程的思想,在系統(tǒng)設(shè)計時最需要考慮的是模塊劃分。

 

問題:如果我必須處理大稀疏矩陣,最好是用循環(huán)雙向鏈表,否則內(nèi)存放不下,我已在CPU上實現(xiàn)算法了,有沒有可能實現(xiàn)異構(gòu)運算?

黃:這種情況下需要你改變算法,在適合于矩陣運算的編程方法(如向量運算)來加以處理,才有可能實現(xiàn)算法的并行化。這方面的并行編程技巧和算法優(yōu)化需要學(xué)習(xí),當(dāng)然這比單純的寫CPU上的串行處理程序還是要難很多。

 

問題:GPU的OpenCL內(nèi)核可以直接移植到FPGA上嗎?

黃:很多時候需要修改,并不能保證能直接移植。但修改的部分并不一定太多,取決于具體的代碼。

蒲:GPU的內(nèi)核代碼經(jīng)過一定修改可以移植到FPGA上,這也是OpenCL強調(diào)通用性的表現(xiàn)。

 

問題:老師好!我想問的是,對于一個初學(xué)者。如果想進行FPGA異構(gòu)計算的學(xué)習(xí)和開發(fā),我所需要做的工作都應(yīng)該包括那幾個方面呢

黃:建議首先把OpenCL的編程方法學(xué)會。由于FPGA綜合一次時間太長,所以調(diào)試代碼很困難。因此如果學(xué)習(xí)OpenCL更好的平臺是GPU,可以選擇AMD公司支持OpenCL的GPU。

蒲:1.有C\C++編程基礎(chǔ)2.熟悉GPU并行編程思想3.對FPGA硬件架構(gòu)有一定了解即可。

 

問題:處理器之間的數(shù)據(jù)傳輸消耗的時間,是否會抵消耗費心血優(yōu)化程序所帶來的性能提升呢?

黃:這確實是一個問題。所以現(xiàn)在要靠幾個方面來解決這一問題。首先就是單片化,把CPU和FPGA集成到一個芯片上,兩者之間的傳輸時間可以下降。第二就是采用“設(shè)備間流水”方法來適當(dāng)降低這方面的影響。第三就是異構(gòu)計算的適用范圍,目前更多的適用于高吞吐率的應(yīng)用而非低延遲的應(yīng)用。最新的研究還包括一些體系結(jié)構(gòu)級的研究。

蒲:目前的內(nèi)存訪問機制限制了子系統(tǒng)之間的頻繁交互,所以設(shè)計時應(yīng)盡量將計算密度高的模塊放在一起,從而減少傳輸延遲。相信隨著硬件加速應(yīng)用需求的增多,業(yè)界能夠給出更可靠完善的解決方案。

 

問題:從前面講的,異構(gòu)更多的工作是在優(yōu)化吧?

黃:一定程度上可以這么說,在AMD公司內(nèi)部從事異構(gòu)計算相關(guān)開發(fā)工作的工程師也常常被稱為“算法優(yōu)化工程師”。但從廣義來講大部分做實現(xiàn)的工程師其實都是在做優(yōu)化,傳統(tǒng)的FPGA工程師在實現(xiàn)算法的過程也可以認為是一個算法優(yōu)化的過程。

 

問題:做異構(gòu)計算開發(fā)與平常的FPGA開發(fā)來說,從思維、觀念上需要哪些改變?

黃:需要從更高的層級,也就是體系結(jié)構(gòu)的層級上面去理解整個系統(tǒng)的運行過程。而不是傳統(tǒng)的RTL級關(guān)注的那些點。

 

問題:我現(xiàn)在想的是先對OpenCL在GPU的開發(fā)中具有一定的了解后,再進行移植到FPGA上。這樣的思路對么?

黃:在初期學(xué)習(xí)OpenCL的時候這樣的思路是對的,但是后期要想發(fā)揮FPGA的最大能效還需要對FPGA內(nèi)部結(jié)構(gòu)和OpenCL到FPGA內(nèi)部資源的映射關(guān)系有全面的了解。

 

問題:FPGA可以運行多個內(nèi)核程序嗎?

黃:請蒲宇亮回答。

蒲:目前一個FPGA能串行運行多個內(nèi)核程序,但無法同時并行執(zhí)行多個內(nèi)核程序。相信隨著硬件虛擬化需求的增加以及技術(shù)的跟進,以后的標準中會對這方面有所支持。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲美女在线国产| 久久激情视频久久| 伊人精品在线| 国产自产在线视频一区| 国产精品一区二区三区四区五区| 欧美日韩一本到| 欧美日韩一区二区国产| 欧美猛交免费看| 欧美电影免费观看高清| 免费不卡视频| 欧美成人免费一级人片100| 欧美aⅴ99久久黑人专区| 久久五月婷婷丁香社区| 久久久久久日产精品| 久久天堂精品| 久久在线91| 免费观看日韩av| 欧美激情视频网站| 欧美日本精品一区二区三区| 欧美精品综合| 欧美午夜免费| 国产伦精品一区二区三区免费| 国产精品日韩精品欧美精品| 国产精品另类一区| 国产精品日韩精品| 国产午夜精品一区理论片飘花| 国产一区二区三区在线观看免费视频 | 免费观看成人网| 欧美成人在线影院| 欧美激情五月| 国产精品观看| 国内一区二区三区在线视频| 尤物九九久久国产精品的分类| 亚洲经典一区| 国产精品99久久久久久宅男| 亚洲男女毛片无遮挡| 久久av二区| 日韩视频不卡| 亚洲欧美电影院| 久久精品在线免费观看| 美女视频黄a大片欧美| 欧美日韩xxxxx| 国产伦精品一区二区| 在线免费观看日本一区| 99香蕉国产精品偷在线观看| 亚洲自拍偷拍一区| 久久精品国产在热久久| 一本久道久久综合婷婷鲸鱼| 午夜在线成人av| 久久综合电影一区| 欧美日韩国产一中文字不卡| 国产精品亚洲片夜色在线| 黑人一区二区三区四区五区| 亚洲精品乱码久久久久久蜜桃麻豆| 在线视频中文亚洲| 久久国产精品99久久久久久老狼| 亚洲最新视频在线| 久久爱91午夜羞羞| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩综合另类| 黄色成人在线网址| 一区二区三区视频在线播放| 欧美专区亚洲专区| 亚洲深夜av| 免费看成人av| 国产精品久久影院| 亚洲国产欧美一区二区三区久久 | 亚洲国产日韩欧美| 亚洲永久网站| 日韩亚洲欧美中文三级| 欧美中文字幕精品| 欧美日本网站| 激情亚洲成人| 亚洲综合色网站| 99www免费人成精品| 久久精品国产清自在天天线 | 一本不卡影院| 亚洲国产日韩欧美一区二区三区| 亚洲在线免费| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品一级二级三级| 亚洲精品一区二区网址| 亚洲电影免费| 欧美一区二区在线免费播放| 欧美日韩福利在线观看| 在线播放日韩欧美| 欧美一级片一区| 亚洲欧美日韩第一区 | 欧美视频在线观看视频极品| 狠狠色伊人亚洲综合成人 | 久久精品电影| 欧美一区二区大片| 欧美网站在线| 日韩亚洲欧美精品| 99精品视频一区| 欧美不卡三区| 狠狠色香婷婷久久亚洲精品| 性高湖久久久久久久久| 午夜精品久久久久久久| 欧美日韩一区二区三区免费看| 亚洲电影在线播放| 亚洲国产精彩中文乱码av在线播放| 欧美中日韩免费视频| 国产精品久久久一本精品| 亚洲激情成人| 亚洲人成网站影音先锋播放| 久久综合精品一区| 国内伊人久久久久久网站视频 | 在线看片日韩| 亚洲国产精品第一区二区三区| 久久精品人人爽| 国产视频亚洲精品| 欧美夜福利tv在线| 久久精品国产精品亚洲| 国产亚洲电影| 欧美一区二区三区四区在线| 久久成人免费视频| 国产日韩一区二区三区在线| 亚洲欧洲av一区二区| 午夜在线一区二区| 国产女主播一区二区三区| 亚洲综合三区| 久久久精品性| 影音先锋一区| 亚洲剧情一区二区| 欧美日韩国产高清| 一本色道久久综合亚洲精品高清| 亚洲午夜女主播在线直播| 国产精品超碰97尤物18| 亚洲性视频网站| 欧美影视一区| 国产亚洲一区二区三区在线观看| 欧美中文字幕在线| 免费在线国产精品| 亚洲日本欧美| 亚洲一区三区视频在线观看| 国产精品日本| 久久av在线看| 欧美1区2区| 亚洲麻豆av| 午夜精品福利一区二区三区av | 国产美女精品视频免费观看| 午夜伦欧美伦电影理论片| 久久人91精品久久久久久不卡 | 亚洲欧美国产精品va在线观看 | 91久久精品视频| 欧美日韩国产一区二区| 亚洲夜间福利| 久久国产乱子精品免费女| 精品成人一区二区| 9色精品在线| 国产精品影片在线观看| 久久精品国产亚洲一区二区三区| 欧美激情1区2区| 亚洲一区二区毛片| 久久综合五月天婷婷伊人| 亚洲精品国产系列| 午夜精品久久久久久久久久久| 国内精品模特av私拍在线观看| 亚洲精品一级| 国产精品普通话对白| 久久精品久久99精品久久| 欧美精品国产| 香港久久久电影| 欧美激情在线狂野欧美精品| 亚洲一区999| 老鸭窝毛片一区二区三区| 99爱精品视频| 久久久天天操| av不卡在线看| 久久伊人亚洲| 亚洲天堂网在线观看| 老鸭窝亚洲一区二区三区| 这里只有精品电影| 老巨人导航500精品| 亚洲视频在线观看一区| 老鸭窝91久久精品色噜噜导演| 亚洲视频在线观看| 欧美jizzhd精品欧美喷水| 亚洲男女毛片无遮挡| 欧美精品黄色| 久久爱另类一区二区小说| 欧美日韩国产在线| 久久精品欧美日韩| 国产精品久久久91| 亚洲精品乱码久久久久久按摩观| 国产欧美欧洲在线观看| 日韩视频免费在线观看| 国产私拍一区| 这里只有视频精品| 在线观看91久久久久久| 性8sex亚洲区入口| 日韩一级黄色片| 噜噜噜久久亚洲精品国产品小说| 亚洲一区二区黄色| 欧美日韩你懂的| 亚洲精品在线观看免费| 国内精品写真在线观看| 亚洲欧美视频在线| 亚洲国产一成人久久精品|