摘要:面對(duì)新的計(jì)算密集型功能,eFPGA數(shù)據(jù)加速可以說是最優(yōu)的解決方案。簡單來說定制單元塊的優(yōu)勢大概包括三點(diǎn):最小的芯片面積、ASIC級(jí)的性能、構(gòu)建獨(dú)立FPGA芯片無法提供的功能。電子模塊
隨著新一波智能數(shù)據(jù)密集型應(yīng)用的興起,基于傳統(tǒng)的CPU架構(gòu)已經(jīng)無法滿足這些新應(yīng)用中計(jì)算需求的指數(shù)級(jí)增長,推動(dòng)了對(duì)全新的、異構(gòu)的、帶有可編程硬件加速器的計(jì)算架構(gòu)的需求。
eFPGA是embedded FPGA的縮寫,用中文理解就是嵌入式FPGA。eFPGA的概念實(shí)際上是Achronix Semiconductor提出來的,這家公司成立于2004年,并推出過20nm的Speedster 22i FPGA,代工廠為Intel。
為什么要采用FPGA?硬件加速
以往業(yè)界習(xí)慣采用獨(dú)立的FPGA,但卻從未考慮將FPGA作為IP嵌入到SOC中。2016年11月,Achronix宣布可提供FPGA IP,可以將FPGA當(dāng)成IP直接嵌入SOC中,命名為Speedcore eFPGA IP。Speedcore嵌入式FPGA(eFPGA)IP產(chǎn)品可以被嵌入到一款A(yù)SIC或者SoC之中,客戶通過細(xì)化其所需的邏輯功能、RAM存儲(chǔ)器和DSP資源,然后Achronix將配置SpeedcoreIP以滿足其個(gè)性化的需求。Speedcore查找表(LUT)、RAM單元、DSP64單元和定制單元塊能夠以靈活的縱列方式組合在一起,為客戶的應(yīng)用創(chuàng)建最優(yōu)化的可編程功能。
在SOC中嵌入FPGA IP相當(dāng)于增加了SOC在邏輯功能上的靈活性,根據(jù)用戶需要可以增加或減少SOC的功能;如果FPGA IP資源足夠多,可以實(shí)現(xiàn)算法加速。
根據(jù)摩爾定律,CPU架構(gòu)的發(fā)展受制于功耗和芯片大小。由于核心數(shù)量有限,越來越多的應(yīng)用需要對(duì)某些特定應(yīng)用進(jìn)行硬件加速。FPGA的優(yōu)勢在于吞吐量以及并行處理,因此在數(shù)據(jù)加速方面有獨(dú)特的優(yōu)勢。
實(shí)際上2015年Intel收購Altera,其目的也是用它們的FPGA來做硬件加速。實(shí)際上這種CPU+FPGA異構(gòu)處理得到越來越多的應(yīng)用,尤其是在數(shù)據(jù)中心,比如cache緩存、網(wǎng)絡(luò)數(shù)據(jù)分析、網(wǎng)頁檢索和并行運(yùn)算等等,得到諸如微軟、亞馬遜、谷歌、Facebook和百度等巨型互聯(lián)網(wǎng)公司的青睞。
人工智能推動(dòng)eFPGA發(fā)展,Achronix三大產(chǎn)品線介紹
5G移動(dòng)通信、高性能計(jì)算、網(wǎng)絡(luò)加速、汽車應(yīng)用是現(xiàn)在FPGA用于計(jì)算加速的主要4大應(yīng)用,隨著網(wǎng)絡(luò)吞吐量的急劇增長,對(duì)于計(jì)算能力的需求也是急速增長。所以很多應(yīng)用需要FPGA來計(jì)算。
據(jù)介紹,Achronix現(xiàn)在有三種產(chǎn)品:第一種是獨(dú)立的FPGA芯片speedster,第二種是嵌入式FPGA內(nèi)核speedcore,就是eFPGA內(nèi)核,第三種是FPGA多晶粒組合封裝Speedchip。
據(jù)了解,Achronix Speedcore eFGPA嵌入式FPGA可加速數(shù)據(jù)密集的人工智能(AI)/機(jī)器學(xué)習(xí)、5G移動(dòng)通信、汽車先進(jìn)駕駛員輔助系統(tǒng)(ADAS)、數(shù)據(jù)中心和網(wǎng)絡(luò)應(yīng)用;Speedcore custom blocks定制單元塊可以大幅度地提升性能、功耗和面積效率,并支持以前在FPGA獨(dú)立芯片上無法實(shí)現(xiàn)的功能。利用Speedcore custom blocks定制單元塊,客戶可以獲得ASIC級(jí)的效率并同時(shí)保持FPGA的靈活性,從而帶來了一種可以將功耗和面積降至最低、同時(shí)將數(shù)據(jù)流通量最大化的高效實(shí)現(xiàn)方式。
Speedcore custom blocks定制單元塊三大優(yōu)勢?
2017年10月11日,Achronix Fusion定制單元塊新產(chǎn)品在深圳深航大廈發(fā)布。這個(gè)可定制單元塊分布在eFPGA內(nèi)部,可由用戶自定義。Achronix宣布為其eFPGA IP解決方案推出Speedcore custom blocks定制單元塊。該技術(shù)大幅度縮減了芯片晶粒大小及功耗,并提升了性能,可與客戶聯(lián)合定義特定功能性單元塊,可分布在整個(gè)eFGPA內(nèi)部結(jié)構(gòu)中。
Achronix Semiconductor市場營銷副總裁Steve Mensor表示,2017年Achronix的銷售收入將超過1億美元,將實(shí)現(xiàn)強(qiáng)勁的增長。其中SpeedCore是增速最快的產(chǎn)品。
“業(yè)界領(lǐng)袖對(duì)Speedcorecustomblocks定制單元塊及其可發(fā)揮的潛力倍感興奮,”AchronixSemiconductor市場營銷副總裁SteveMensor表示。“目前與我們合作的公司都在打造下一代異構(gòu)計(jì)算平臺(tái)和高帶寬通信系統(tǒng),他們正在構(gòu)建高性能的硬件加速器,可以隨著其計(jì)算算法的演進(jìn)而不斷調(diào)整?,F(xiàn)在,AchronixeFPGAIP產(chǎn)品在添加了Speedcorecustomblocks定制單元塊以后,就使其在擁有可編程性的同時(shí)還能夠擁有ASIC級(jí)的性能以及高片芯面積效率。”
面對(duì)新的計(jì)算密集型功能,eFPGA數(shù)據(jù)加速可以說是最優(yōu)的解決方案。簡單來說定制單元塊的優(yōu)勢大概包括三點(diǎn):最小的芯片面積、ASIC級(jí)的性能、構(gòu)建獨(dú)立FPGA芯片無法提供的功能。
微軟在一個(gè)項(xiàng)目白皮書提出一種云規(guī)模的加速架構(gòu)。其中Shell占據(jù)了44%的總面積。對(duì)于eFPGA來說,可以靈活的處理。中間的應(yīng)用邏輯電路可以放Speedcore,而周邊的Shell可以放到客戶的ASIC中。
對(duì)于客戶自定義的功能模塊可以進(jìn)一步將芯片面積減少75%,而且功耗更低,性能更高。
由于減少了大量的shell和IO的面積,Speedcore custom blocks定制單元塊相比以往獨(dú)立的FPGA芯片面積減少了將近6倍。
案例對(duì)比:eFPGA與GPU各占優(yōu)勢
相關(guān)應(yīng)用案例舉例:字符串搜索
如果用Speedcorecustomblocks定制單元塊來實(shí)現(xiàn),需要并行比較器陣列的大型字符串搜索功能的片芯面積可以縮減超過90%。
桶形移位器(Barrelshifter)和二進(jìn)制位處理結(jié)構(gòu)也可以在Speedcorecustomblocks定制單元塊中完全實(shí)現(xiàn),從而在同樣的面積中實(shí)現(xiàn)更大的、更精妙的應(yīng)用,提升了可獲得的頻率。
一個(gè)運(yùn)行在800MHz的400Gbps包處理數(shù)據(jù)通道的核心功能也可以用Speedcorecustomblocks定制單元塊來實(shí)現(xiàn),其可編程邏輯管理分析和控制功能。今天的FPGA獨(dú)立芯片不能為包處理應(yīng)用提供這么高的數(shù)據(jù)吞吐量。
以往FPGA都被拿來跟ASIC比較,但是隨著人工智能需求的增加,越來越多客戶用FPGA來跟GPU比較,來做機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)應(yīng)用。案例舉例:以AI卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用為例,以前需要用到大量的DSP和RAM,經(jīng)過自定義優(yōu)化以后,總面積不管是DSP還是RAM都大大減少,整個(gè)芯片面積縮減大概35%。通過為矩陣乘法運(yùn)算優(yōu)化數(shù)字信號(hào)處理器(DSP)和存儲(chǔ)單元塊,基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的YOLO目標(biāo)識(shí)別算法的芯片面積被縮減了超過40%。
一般通用計(jì)算是通過CPU,而數(shù)據(jù)加速則而通過eFPGA核。GPU功耗較大,相對(duì)來說FPGA更靈活,對(duì)于特殊應(yīng)用,吞吐量和并行處理能力更強(qiáng)。FPGA相對(duì)于GPU的弱點(diǎn)是,在編程上通過軟件就可以實(shí)現(xiàn),相對(duì)來說編程難度會(huì)大一點(diǎn)。
案例舉例:以線速運(yùn)行的功能
案例舉例:TCAMS
這是網(wǎng)絡(luò)應(yīng)用中的常用功能,包括數(shù)據(jù)包分類、流量管理等。在獨(dú)立FPGA上往往無法提供該功能,因?yàn)樾枰玫酱罅康腂RAM和邏輯,占用的面積太大。而通過我們的定制單元塊就可以實(shí)現(xiàn)。一個(gè)TCAMS可以把需要的RAM和logic放到一個(gè)模塊里面,相比傳統(tǒng)的FPGA占用的面積大大縮小。還可以通過多個(gè)TCAM來做級(jí)聯(lián),來構(gòu)建更深或更寬的陣列。
“我們的ACE工具可以給獨(dú)立的FPGA做設(shè)計(jì),也可以給我們的SpeedCore做設(shè)計(jì)。SpeedCore最大可達(dá)到200玩?zhèn)€查找表。”STEVE MENSOR表示,Speedcore custom blocks定制單元塊由Achronix與其客戶共同定義,這需要一個(gè)詳細(xì)的加速工作負(fù)載架構(gòu)分析。隨后,Achronix將為客戶提供一個(gè)用于基準(zhǔn)測試和評(píng)估的新版ACE設(shè)計(jì)工具,它包含了帶有定制單元塊的、新的Speedcore eFPGA。
Achronix的ACE設(shè)計(jì)工具全面支持Speedcore custom blocks定制單元塊,可以與存儲(chǔ)器和DSP單元塊相同的方式,提供從設(shè)計(jì)捕獲到比特流生產(chǎn)和系統(tǒng)調(diào)試等功能。Achronix為每個(gè)Speedcore custom blocks定制單元塊創(chuàng)建了一種獨(dú)有圖形化用戶接口(GUI),它可以管理所有的配置規(guī)則。ACE擁有Speedcore custom blocks定制單元塊所有配置的完整的時(shí)序細(xì)節(jié),支持ACE去完成各種設(shè)計(jì)基于時(shí)序的布局和布線??蛻艨梢杂脧?qiáng)大的版圖規(guī)劃器來優(yōu)化設(shè)計(jì),并為所有的單元實(shí)例去制定局域或者定點(diǎn)的任務(wù)安排。ACE還包括一個(gè)關(guān)鍵路徑分析工具,它可以支持客戶去分析時(shí)序??蛻暨€可以使用ACE強(qiáng)大的Snapshot嵌入式邏輯分析儀,去創(chuàng)建復(fù)雜的觸發(fā)器并展示Speedcore內(nèi)的實(shí)時(shí)信號(hào)。