「Vitis平台能支援市面上所有公司的FPGA嗎?」這個標題聽起來有點異想天開,筆者還沒膽量這麼想──這是來自簡體中文版電子工程專輯社群「麵包板」的一位網友的想法:

Vivado如果能支援市面上大部分的FPGA (或者至少Altera的),能讓工程師用一個熟悉的工具為不同品牌的FPGA做合成、時序分析、implement、燒錄、軟硬體支援等,那會不會透過FPGA工具成為和另外幾家EDA巨擘一般的存在?

很好,我在北京舉行的年度賽靈思開發者大會(XDF)前夕將這個問題拋給了賽靈思(Xilinx)負責軟體、IP和AI方案的副總裁Ramine Roane,在他很興奮的講到Vitis還可以支援不同品牌外部CPU時。

沒想到他認真回應了:「Vivado可能在支援其他品牌FPGA上有點困難,因為它更基於硬體,除非英特爾(Intel)把自己的硬體架構細節分享出來,否則我們沒法支援他們的硬體;但如果英特爾也開發出類似Vitis的產品,那或許我們可以合作。」

他補充指出:「我們的實驗室是採用開放源碼的,他們實際上也可以用我們的程式碼;」另外他還強調了一點:如果從營收角度看,賽靈思可能和EDA工具供應商巨擘們差距很遠;但如果從軟體授權數量和開發者數量角度來看,那賽靈思其實是超過Synopsys的。

過去三十年,賽靈思只是為硬體開發者開發工具,而現在推出的Vitis是免費的,不強制要求採用專有的開發環境,而是能插入到通用的軟體發展工具中,例如tensorflow、微軟(Microsoft)的visual studio編寫C,而且提供很多開放源碼內容,如賽靈思實驗室/深鑒科技的一些AI模型等。

在兩個月前,賽靈思推出了歷經五年、投入每年總計1,000個人工打造的Vitis,而在XDF 2019上,Vitis宣佈可以正式下載。

Vitis AI來了

AI模型的變化速度很快,尤其是在2012年後AI業界高速發展;這幾年當中,AI科學家們在精度幾乎沒變的情況下,把運算複雜度降低,從而降低了功耗。

「如下圖所示,現在AI模型每三個月就要變一次,工程師想建立一個ASIC或GPU需要花一年半時間設計矽晶片,半導體的設計週期遠遠大於AI模型更替週期;」Roane指出,如果用矽晶片實現這些AI模型,那麼在矽晶片設計好的時候,AI模型早已經更替,這個時候舊的矽晶片雖然能運作,但是效率很低。

所以矽設計需要在硬體上做到可適應,根據模型的變化,在新的模型上也能用一樣的模型達到很高的效率。所以自我調整計算加速平台的優勢明顯。

20191205_Xilinx_NT61P1.png

在平台上,如上圖所示,囊括了:

  • 紅色部分的FPGA結構,可以用於客製化邏輯/記憶體。
  • 綠色部分的有向量處理器;向量處理器適合高度流水線作業的處理器,做AI加速更有效,擅長做算數、矩陣,主要用於AI運算。Roane指出:「它看起來像FPGA,也是陣列式排布,但裡面包含小的DSP處理器,形成DSP和FPGA的混合體,從而實現可配置的資料流程。」
  • 藍色部分可以嵌入ARM核心子系統。
  • 黃色部分的晶片上網路(NoC),用於將不同架構連接起來。

此次在XDF 2019北京站開放下載的Vitis AI開發平台,適用於在 Xilinx 硬體平台(包括邊緣裝置和Alveo卡)上進行人工智慧推論。

20191205_Xilinx_NT61P2

它包括了最佳化的 IP、工具、程式庫、模型和參考設計。其開源的8個程式庫裡包括了400多項功能,聽起來像是現在改行做AI工程師還來得及,從程式庫裡拿些程式碼出來刪刪減減,就能實現自己需要的功能。

Vitis AI 模型專區包括優化的深度學習模型,可加速工程師佈署深度學習推斷的進程。如下圖所示,這些模型涵蓋不同的應用,例如通用的影像分類/物件偵測、ADAS/AD、視訊分析、機器人和資料中心等。

20191205_Xilinx_NT61P3

在Vitis開發套件中,重點想提的是這個「AI Quantizer」;這個詞特意請教了賽靈思機器學習的資深產品經理Andy Luo,他解釋中文應該可以翻譯做AI量化器或轉換器,能將 32 位浮點權值和啟動量轉換為 INT8 這樣的定點。

Luo解釋:「這樣做的好處是,需要運算的資料量會大大減少,降低運算複雜度,所需的記憶體頻寬也更少。而且這個功能允許開發者多次嘗試量化程度,多次測試在不影響預測精度的情況下,實現最佳的轉化度。」

Roane則舉了一個針對智慧城市應用的自適應架構案例:

20191205_Xilinx_NT61P4

從上圖可以看到,從僅在CPU中執行,到以AI加速、再到FPGA加速,再到Vitis資料流水線方案,FPS可以從6增加到80。Roane指出:「後處理如果需要也可以用Vitis資料流水線,只不過一般這部分不是特別佔用算力,所以這個案例中沒有使用。」

第三方合作廠商

此次XDF 2019有兩家「鑽石贊助商」,包括安富利(Avnet)和Silexica;後者是2014年成立的德國公司,專長最佳化基於Vitis的應用。在現場,Silexica產品和技術行銷負責人Loren Hobbs接受EE Times採訪時表示,目前該公司還沒有中國客戶,客戶主要在歐美和日本,包括富士通(Fujitsu)、日本電裝(Denso)等,鎖定影像識別、智慧駕駛以及金融產業等應用。

20191205_Xilinx_NT61P5

SLX FPGA能夠和Vivado HLS結合使用,從而解決高階合成HLS設計流程的挑戰,包括識別不可合成的C/C++程式碼,檢測應用程式的平行性,以及在合適的位置插入編譯指令。目前該該公司主要業務是針對C++的最佳化,因為「Tensorflow一般已經做到最佳化,可以直接寫入FPGA了。」

「並非只有複雜的程式碼需要使用我們的SLX軟體,」Hobbs指出:「Silexica的軟體分為羽量級和重量級兩個版本,羽量級可以針對一些簡單應用,而對於重量級客戶,不僅在軟體本身有功能更齊全的版本供選擇,還可以進行深度的客製化合作。」

(本文原刊於EE Times China網站;責編:Yvonne Geng)