早前,,Xilinx宣布其新一代基于ACAP架構的芯片系列Versal已經(jīng)正式出貨給第一批客戶,并將在今年下半年正式大規(guī)模出貨,。這也意味著Xilinx研發(fā)多年的新架構終于到了經(jīng)歷市場檢驗的階段,。
自從Xilinx從2018年發(fā)布ACAP架構以來,該架構就得到了行業(yè)的高度關注,。ACAP全稱“靈活計算加速平臺”(Adaptive Computation Acceleration Platform),,該芯片不僅包含了FPGA的可配置邏輯,還包含了ARM核,,以及AI Engine和DSP Engine,。這意味著使用ACAP架構的芯片將可以滿足三種需求:ARM核可以運行一些通用化且對性能需求不高的任務,例如操作系統(tǒng),;FPGA可配置邏輯可以運行定制化邏輯,;而AI Engine則可以運行AI相關的高性能專用計算,例如矩陣運算等,。
ACAP架構里新加入的AI Engine是大家關注的焦點,。根據(jù)Xilinx發(fā)布的資料,該AI Engine是一組SIMD核陣列,,每個核都包含了完整的RISC處理器,、定點SIMD處理單元、浮點SIMD處理單元以及本地內(nèi)存,。每個核之間還可以通過片上網(wǎng)絡(NoC)連接到一起,,從而可以實現(xiàn)高度靈活的數(shù)據(jù)流。這樣的架構,,事實上類似眾核架構。在這次發(fā)布的Versal AI Core系列芯片中,,將會集成128-400個AI Engine,,從而實現(xiàn)43-133TOPS的INT8定點計算能力。
FPGA的演化邏輯
為什么Xilinx會在FPGA里面加入專用的AI Engine呢,?我們不妨回顧一下FPGA的發(fā)展歷史,。
在FPGA最初出現(xiàn)的時候,其最大的賣點是可以配置成任意的邏輯,,只要邏輯容量不超過FPGA的上限即可,。最初人們對于FPGA的期望是滿足其功能需求。
在這樣的預期下,,使用FPGA的系統(tǒng)可以劃分為兩個部分,,一個是使用通用處理器實現(xiàn)的高速處理部分,而另一部分是使用FPGA實現(xiàn)的特殊功能部分,。換句話說,,F(xiàn)PGA的主要角色是協(xié)處理器,。
然而,隨著用戶的需求和FPGA公司的業(yè)務擴展,,F(xiàn)PGA并不滿足于只當一個協(xié)處理器,。從用戶角度來說,事實上這種主-從處理器的系統(tǒng)在設計和集成的時候會比較麻煩,,如何正確處理主-從處理器之間的可靠互聯(lián)和數(shù)據(jù)通信協(xié)議設計都需要不少功夫,。隨著FPGA容量的增大,不少用戶試著在FPGA上部署一個處理器核來跑OS并控制其余部分的可編程邏輯,。然而,,這樣的效率很低,因為處理器核是一種通用處理器,,而FPGA事實上最合適的領域是定制化邏輯而非通用處理器,。從Xilinx和Altera這樣的FPGA公司業(yè)務來說,F(xiàn)PGA作為協(xié)處理器的市場可以提供的利潤率顯然會小于整個系統(tǒng)的利潤率,。因此,,基于供需雙方的需求,Xilinx推出了包含了ARM硬核和FPGA的Zynq系列芯片,,而Altera也推出了類似概念的Altera SoC系列產(chǎn)品,。
在Zynq和Altera SoC這類的產(chǎn)品中,包含了一個ARM處理器硬核,,以及可編程邏輯,。由于處理器是硬核,因此可以運行在GHz這樣的頻率范圍,,相比之前跑在FPGA上的軟核只能跑到100MHz這樣的頻率,,可以說集成ARM硬核是大大提升了通用處理器核的性能,使其不再成為系統(tǒng)的性能瓶頸,。此外,,由于ARM硬核和FPGA集成在同一塊芯片上,因此處理器和FPGA之間有著豐富的高速互聯(lián)資源,,從而讓ARM硬核和FPGA邏輯之間的數(shù)據(jù)交換變得高效,。同時在工具鏈上,對于ARM核+FPGA的協(xié)同工作也提供了很好的支持,。這樣幾個要素組合在一起,,就實現(xiàn)了一個重要的突破,即這樣一個包含ARM核和FPGA的芯片在不少場景下可以直接作為一個系統(tǒng)工作,,而不再依賴于其他主處理器了,。因此,集成了ARM核的FPGA就不再是一個協(xié)處理器,,而是可以作為一個主處理器,。
到了今天,,隨著FPGA目標人工智能市場,事實上又出現(xiàn)了之前同樣的情況:不少用戶希望用FPGA實現(xiàn)人工智能計算,,但是FPGA實現(xiàn)人工智能計算的能力有限,,而另一方面主流人工智能計算其實都相當規(guī)則,基本都是基于矩陣運算,,因此Xilinx在ACAP的架構中主動加入了能靈活支持這類人工智能運算的硬核——AI Engine,,從而希望能作為完整的系統(tǒng)支持人工智能計算,并慢慢從芯片廠商走向系統(tǒng)廠商,。
ACAP對于人工智能市場的影響
ACAP主要針對的市場是云端和邊緣計算市場,。云端市場即數(shù)據(jù)中心的服務器,在此類應用中,,ACAP可望作為用于加速人工智能計算的加速卡進入服務器,。目前,亞馬遜AWS已經(jīng)有不少部署了Xilinx FPGA的服務器,,隨著ACAP的發(fā)布,,可望會有更多FPGA進入此類云計算市場。值得注意的是,,ACAP主要的強項是低精度定點計算(INT8),,因此針對的AI應用主要是推理,而作為云端人工智能重要應用的訓練仍然會需要擅長浮點運算的GPU,。而在AI推理方面,,F(xiàn)PGA相比GPU的優(yōu)勢是功耗小并且可定制,因此會在該領域與GPU競爭市場份額,。然而,,相比GPU完整的開發(fā)者生態(tài),F(xiàn)PGA的開發(fā)生態(tài)仍然不夠成熟,,因此工具鏈等開發(fā)生態(tài)可能會成為充分開啟FPGA潛力的關鍵點,。
在云端市場之外,邊緣計算將是ACAP的重點市場,。邊緣計算介于終端節(jié)點和云之間,邊緣服務器部署在物聯(lián)網(wǎng)終端附近,,它收集終端設備的信息并做就近處理,,同時將必要的信息再上傳至云端。物聯(lián)網(wǎng),、5G和自動駕駛技術在大大增加邊緣計算市場潛力的同時,,也對邊緣計算提出了新的需求,需要邊緣計算在做網(wǎng)絡操作和數(shù)據(jù)存儲之外,,還要能實現(xiàn)實時人工智能計算,,而這也是ACAP主要針對的市場,。事實上,通信基站本來就是FPGA的主要市場之一,,因此隨著5G結合邊緣計算和人工智能的概念,,ACAP顯然也能迎合這樣的潮流,從而有望隨著5G+概念的崛起占領更多通信市場,。
對于人工智能芯片初創(chuàng)公司來說,,ACAP將會在云端和邊緣計算端成為一個有力的競爭者??紤]ACAP的計算能力(40-100TOPS),,我們認為ACAP在邊緣計算方面將有非常強的競爭力(在云端對于算力的需求將會很快超過100TOPS,因此ACAP或許將更多發(fā)揮其在可配置而非算力方面的優(yōu)勢),。由于FPGA成本較高,,因此我們認為ACAP將會更多面對高端市場,但是從整體上來說,,我們認為ACAP將會成為Xilinx進軍人工智能市場的一把利器,。
對于Xilinx FPGA的老對手——Intel來說,應對Xilinx ACAP的策略并非針鋒相對推出另一款功能相近的芯片,,而是利用自身在封裝工藝上的優(yōu)勢以虛擊實,。今年四月,Intel發(fā)布了下一代FPGA構架AgileX,,該架構利用EMIB封裝,,可以把FPGA和其他芯片粒封裝在一起。因此,,如果客戶選擇在AgileX的系統(tǒng)中集成一塊用于AI加速的芯片粒,,則可以實現(xiàn)和Xilinx ACAP類似的效果。這樣一來,,Intel的AgileX方案比起Xilinx來說更加靈活,,因為Xilinx的ACAP只針對AI相關計算優(yōu)化,而Intel的AgileX優(yōu)化的計算取決于客戶選擇集成什么芯片粒,。然而,,現(xiàn)在芯片粒的生態(tài)還未完善,因此無論是成本,、工具鏈還是產(chǎn)能來說都要打個問號,,因此我們認為Intel的AgileX架構的第一批客戶還主要是針對希望能和Intel深度合作使用EMIB技術并且有技術實力理解甚至定制芯片粒系統(tǒng)的大客戶,這樣看來,,我們認為Xilinx的ACAP是賭定了AI市場,,并且希望能快速覆蓋更多的客戶;而Intel還不愿意放棄FPGA的靈活性,因此并不希望這么早就把FPGA和AI深度綁定,,而是希望FPGA能作為其芯片粒生態(tài)的先鋒部隊,。這另一方面和兩家公司的架構也有關:FPGA只是Intel的一個事業(yè)部,其產(chǎn)品定義必須服從Intel整體的戰(zhàn)略,;而FPGA產(chǎn)品對于Xilinx來說就是全部,,所以一切都圍繞FPGA。
對于中國芯片公司來說,,意識到FPGA與專用加速器以及處理器硬核集成的趨勢也是重要的,。雖然我們在FPGA領域尚需追趕,但是FPGA SoC的架構與FPGA更像是一種橫向擴展而非縱向加深,,也即完全可以在與研發(fā)FPGA并行進行,,從而在未來更快追上FPGA發(fā)展的步伐。從另一個角度來說,,我們也可以認為FPGA下一步的發(fā)展已經(jīng)不只是如何把FPGA邏輯規(guī)模做大速度做快,,而是如何把FPGA搭配其他應用組成在靈活度和性能方面都足夠好的SoC。隨著FPGA IP的發(fā)展,,中國芯片公司也可以考慮購買FPGA IP搭配專用加速器IP,,從而實現(xiàn)我們自己的“ACAP”。