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