你知道嗎,世界第一大FPGA公司賽靈思,它的龍頭芯片,卻不是FPGA——2018年,賽靈思發(fā)布了一種名叫ACAP的芯片,隨即受到了全球科技界的密切關注。
很多人說,ACAP了開啟FPGA芯片發(fā)展的新階段,也將會帶來大量人工智能時代的新機會。AMD剛剛花了490億美元收購賽靈思,有很大一部分原因也是看中了這個芯片在數據中心這個大藍海里的廣闊前景。
那么這個名叫“自適應計算加速平臺”的芯片,到底有哪些獨門絕技,它能不能撐得起新一代人工智能芯片的這面大旗,并且引領下一輪人工智能硬件的變革?今天這篇文章我們就來一探究竟。
從FPGA到ACAP
賽靈思在初次提出ACAP這個概念的時候,就在反復強調“ACAP并不是FPGA”。那么相比于FPGA,ACAP這個芯片到底有哪些特別重大的創(chuàng)新之處呢?我總結了三點,分別是基于各種引擎的芯片架構、專用的AI加速單元,以及首次在FPGA或者ACAP中出現的片上網絡。
整體來看,ACAP芯片是由很多個引擎組成的。比如FPGA中的“處理器系統(tǒng)(Processor Systems)”在ACAP中被稱為“標量引擎(Scalar Engines)”;“可編程邏輯(Programmable Logic)”則是變成了“自適應引擎(Adaptable Engines)”;再加上由AI引擎和DSP引擎組成的“智能引擎(Intelligent Engine)”,就構成了ACAP的“三大引擎”。
這樣的命名方式充分體現了ACAP的異構化這一特征:對于一個目標應用,這三種引擎會各自負責擅長的運算類型,從而實現最佳的處理效果。
在這“三大引擎”中所包含的各種硬件資源中,其他的我們或多或少都在賽靈思的FPGA產品中見到過,唯獨“智能引擎”中的“AI引擎”是ACAP特有的一個概念,咱們就從它開始說起。
AI引擎
對于機器學習、5G通信這樣計算密集、但又對時延等較為敏感的應用,通用CPU的性能是遠遠不夠的。因此我們會設計專用的芯片來加速這些應用,它們也叫做硬件加速器、或者領域專用架構(Domain Specific Architecture,DSA)。
假設我們手頭有一個深度學習加速器(Deep Learning Processing Unit,DPU)的IP,那么對于FPGA來說,我們會用到片上的可編程邏輯資源和DSP資源來物理上實現這個IP。
但是對于Versal ACAP來說,這個過程被大大簡化了,我們主要用AI引擎就行。這樣做的好處有兩個方面:更高的算力和更低的功耗。
在算力方面——基于AI引擎的實現方式的效率更高,這意味著單位面積的芯片對應的計算能力更強;這對于加速計算密集的應用來說無疑是個好消息;
在能耗方面——基于AI引擎的實現方式對于可編程邏輯資源的依賴度更低,可以減少大約百分之五十的功耗。
AI引擎的基本組成單位是tile,它其實是由大量的tile組成的一個陣列。也就是說,我們可以把它看成是傳統(tǒng)FPGA加了AI buff的升級版。
每個tile里都有非常豐富的硬件資源,每個tile都有一個標量處理單元、和一個矢量處理單元,它們能實現指令級并行和數據級地并行,這就為算力提供了保障。tile之間的互聯,既可以通過上下左右四個方向直接連接,也可以通過可編程的AXI總線來實現。
AXI總線可以看成ACAP芯片上的高速公路,小模塊的互聯只是一方面,更重要的是它還能把AI引擎和其他的大模塊聯系起來,包括芯片上的可編程邏輯資源,以及更高速的片上網絡。這樣一來,整個芯片上的數據流動就活了。我們可以把不同的任務,合理的分配給不同的單元,從而實現整體加速效果的最優(yōu)化。
片上網絡NoC
和傳統(tǒng)FPGA相比,ACAP在架構上的最大的變革,就是采用了片上網絡Network on Chip-NoC。如果前面說的AXI總線是高速公路,那片上網絡就是高鐵。
芯片這個四四方方的結構其實和地圖很像,芯片上有很多功能模塊,它們就像地圖上的一個個城市。高速公路可以把這些城市連起來,但速度和運力畢竟還是有限的。但如果有高速鐵路,就能把大量貨物以很快的速度從一個城市送到另外一個城市。
片上網絡就是這樣,它之所以叫網絡,就是把我們日常互聯網的概念用在了芯片設計上,在芯片上搭建了一個傳輸數據的高速網絡。它把數據封裝成數據包的形式,然后在這個網絡上進行路由、交換、通信。就像我們寄快遞一樣,自己開車太慢了,把它打包裝箱,然后給快遞公司用高鐵很快就寄到了。
不僅如此,片上網絡還是個三維的結構,也就是鐵軌不是修在城市里面,而是用高架橋架在天上。不知道大家發(fā)現沒有,咱們國內很大部分的高鐵都是這么建的,這樣不影響城市的正常交通,還能充分的利用土地面積。當然我們這里的土地,就是芯片。
所以片上網絡能把數據的傳輸和數據的計算分離開,并且?guī)砣齻€主要的好處,也就是能在有限的芯片面積上就能集成更多的邏輯單元,同時能保證數據傳輸的性能和吞吐量,也能緩解芯片布局布線的擁堵和壓力。
VCK5000:發(fā)揮ACAP性能的關鍵
有了芯片還遠遠不夠,萬里長征算是走了三分之一,接下來三分之一,就是高性能的硬件平臺。比如使用Versal ACAP芯片的賽靈思旗艦級加速卡VCK5000,就是被設計用來把ACAP的性能發(fā)揮到極致的硬件系統(tǒng)。它搭載了Versal AI Core系列的VC1902芯片,配備了大量的運算單元來滿足數據中心應用對算力的需求,比如400個AI引擎tile和1968個DSP引擎。
除了數據中心和機器學習應用之外,VCK5000的目標應用還有5G、雷達等等,是一位全能型選手。那么它在實際任務中的表現如何呢?
GoogleNet和ResNet-50是圖像識別領域里的兩個比較常用的神經網絡模型,而VCK5000加速卡處理這兩個模型的速度,分別達到了賽靈思前一代旗艦產品UltraScale plus產品的五倍和七倍,這是真正意義上的“把前浪拍死在沙灘上”了。
在5G通信應用中,得益于之前介紹的AI引擎、片上網絡等架構上的創(chuàng)新,VC1902仍然有著不俗的表現:它的能耗比達到了友商基于10納米工藝的競品的2.4倍。
Vitis:ACAP的靈魂
說完了芯片的硬件,我們必須要說一下開發(fā)芯片的軟件,這也是我們芯片萬里長征的最后三分之一。像Versal ACAP這樣一個相對復雜的新異構計算平臺,如何充分的利用它的性能,并且將工作負載合理地劃分是很關鍵的。
這就好比一個很有領導力的人如果被安排到了技術崗,就無法很好的發(fā)揮自己的管理能力。反過來也一樣,并不是所有優(yōu)秀的工程師都是優(yōu)秀的領導者。所以需要把資源,合理安排到最適合的地方。
這個決策過程需要對目標應用和計算平臺兩邊的充分了解,交給軟件來完成顯然是最好的選擇。
對于這一點,賽靈思給出了兩種方案:
如果你有過使用FPGA的經歷的硬件開發(fā)者,那么基于Vivado的那套傳統(tǒng)的開發(fā)流程仍然是適用的,你可以像使用FPGA那樣去使用ACAP;
如果你是沒有任何硬件開發(fā)背景的軟件開發(fā)者,也別不用擔心,你同樣可以用Versal ACAP來加速你的應用,方法就是使用Vitis軟件平臺。
Vitis能完成的工作可以分為軟件側和硬件側這兩部分:
在軟件方面,用戶提供的應用被編譯生成可執(zhí)行文件;在硬件方面,根據Vitis library提供了大量高度優(yōu)化的加速器實現方案,應用中可被加速的部分將被捕捉到、并通過Versal ACAP中的可編程邏輯和AI引擎等IP來實現,最后生成板卡的啟動文件。
對于開發(fā)者來說,只需要把可執(zhí)行程序和啟動文件拷貝到板卡的SD卡中,可執(zhí)行程序就能通過API調用硬件來實現對于應用的加速。
所以從軟件開發(fā)者的角度來說,整個開發(fā)環(huán)境依然是非常友好的,因為打交道的對象仍然是C、C++、Python等高層次的語言。為一些熱門的應用,賽靈思還進一步完善了開發(fā)工具,比如說為AI推理打造的全棧式工具鏈Vitis AI。
通過Vitis AI,PyTorch、TensorFlow等主流的深度學習框架中的模型可以被高效地部署在Xilinx平臺,實現良好的加速效果。
當然,Vitis面向的硬件平臺并不只是Versal ACAP,之前上手過的Kria平臺,就特別適合嵌入式應用的快速開發(fā)。
對于芯片公司來說,軟件反而是最重要的。只有構建了良好的軟件生態(tài),才能真正提升產品的競爭力,尤其是對于AI加速這樣市場大、門檻低的應用來說,只提供硬件是遠遠不夠的。
一個全能的軟件堆棧能讓用戶快速地上手,從而集中精力開發(fā)自己的算法應用,那硬件的競爭力自然也就有了保障。
過去幾年里,英偉達取得的成功便是這一點的有力證明;而Vitis告訴我們,賽靈思也在朝著這個方向努力著。
結語
我們從硬件架構、開發(fā)流程以及應用實例這幾個角度,簡單地向大家介紹了賽靈思的Versal ACAP——第一代自適應計算加速平臺。
在硬件方面,AI引擎、固化的片上網絡等一系列的架構創(chuàng)新使得Versal ACAP比FPGA更為擅長加速AI推理、無線5G等計算密集的應用。在開發(fā)流程上,Vitis軟件平臺大大降低了硬件開發(fā)的難度,使得軟件開發(fā)者也能夠輕松地用ACAP加速自己的應用。
Versal ACAP的目標市場非常廣泛,為不同的應用類型、場景準備了不同的產品線。盡管還沒有大規(guī)模地走向市場,但是在目前有限的對比中,Versal ACAP確實展現了不俗的實力。
ACAP能否幫助AMD在數據中心市場牢牢占據一席之地?現在回答這個問題也許還太早了。但在競爭逐漸白熱化的數據中心,ACAP必將掀起不小的水花。
(注:本文不代表老石任職單位的觀點。)