AMD Versal AI Core 系列和 Versal AI Edge 系列旨在憑借 AI 引擎機器學(xué)習(xí) ( ML ) 架構(gòu)來提供突破性的 AI 推斷加速。這些器件的設(shè)計應(yīng)用范圍廣泛,包括用于云端動態(tài)工作負(fù)載以及超高帶寬網(wǎng)絡(luò),同時還可提供高級安全性功能。AI 和數(shù)據(jù)科學(xué)家以及軟硬件開發(fā)者均可充分利用高計算密度的優(yōu)勢來加速提升任何應(yīng)用的性能。AI 引擎機器學(xué)習(xí)擁有先進(jìn)的張量計算能力,非常適合用于高度優(yōu)化的 AI 和 ML 應(yīng)用。
AI 引擎機器學(xué)習(xí)器件包含二維陣列,由帶有單指令流多數(shù)據(jù)流 ( SIMD ) 矢量單元的超長指令字 ( VLIW ) 處理器構(gòu)成,專為計算密集型應(yīng)用而高度優(yōu)化,特別適用于機器學(xué)習(xí) ( ML ) 等 AI 技術(shù)。
AI 引擎機器學(xué)習(xí)陣列支持三種級別并行度:
指令級并行度 ( ILP ):通過 VLIW 架構(gòu),允許在單個時鐘周期內(nèi)執(zhí)行多次運算。 | |
SIMD:通過矢量寄存器,允許并行執(zhí)行多項計算。 | |
多核:通過 AI 引擎機器學(xué)習(xí)陣列,支持并行執(zhí)行多個 AI 引擎機器學(xué)習(xí)核。 |
指令級并行度包括 1 次標(biāo)量操作、1 次移動、2 次矢量讀取(加載)、1 次矢量寫入(存儲)和 1 條可執(zhí)行的矢量指令,總計每個時鐘周期達(dá) 6 路 VLIW 指令。數(shù)據(jù)級并行度是通過矢量級操作來實現(xiàn)的,其中每個時鐘周期可執(zhí)行多組數(shù)據(jù)操作。
每個 AI 引擎機器學(xué)習(xí)都包含矢量處理器和標(biāo)量處理器、專用程序存儲器、本地 64 KB 數(shù)據(jù)存儲器、支持訪問其本身和三個相鄰 AI 引擎機器學(xué)習(xí)內(nèi)的本地存儲器。它還可訪問 DMA 引擎和 AXI4 互連開關(guān),以通過串流來與其他 AI 引擎機器學(xué)習(xí)進(jìn)行通信或者與可編程邏輯 ( PL ) 或 DMA 進(jìn)行通信。請參閱《Versal 自適應(yīng) SoC AIE ML 架構(gòu)手冊》 ( AM020 ) 以獲取有關(guān) AI 引擎機器學(xué)習(xí)陣列和接口的具體詳細(xì)信息。
雖然對于 AI 引擎機器學(xué)習(xí)而言,大部分標(biāo)準(zhǔn) C 語言代碼均可編譯,但代碼可能需要重構(gòu)才能充分利用硬件所提供的并行度。AI 引擎機器學(xué)習(xí)的優(yōu)勢在于,它能夠在每個時鐘周期內(nèi)使用 2 個矢量執(zhí)行乘積累加 ( MAC ) 運算、為下一項運算加載 2 個矢量、存儲來自上一項運算的單個矢量,并遞增一個指針或執(zhí)行另一次標(biāo)量運算。稱為本征函數(shù)的專用函數(shù)允許您以 AI 引擎機器學(xué)習(xí)矢量處理器和標(biāo)量處理器為目標(biāo),并提供多個常用矢量函數(shù)和標(biāo)量函數(shù)的實現(xiàn),使您能夠?qū)W⒂谔幚砟繕?biāo)算法。AI 引擎機器學(xué)習(xí)不僅包含其矢量單元,還包含一個標(biāo)量單元用于所有標(biāo)準(zhǔn) C 語言代碼程序。
AI 引擎機器學(xué)習(xí)程序使用以 C++ 編寫的數(shù)據(jù)流計算圖(自適應(yīng)數(shù)據(jù)流計算圖)規(guī)格。此規(guī)范可使用 AI 引擎編譯器進(jìn)行編譯并執(zhí)行。自適應(yīng)數(shù)據(jù)流 ( ADF ) 計算圖應(yīng)用由多個節(jié)點和邊緣組成,其中節(jié)點表示計算內(nèi)核函數(shù),邊緣則表示數(shù)據(jù)連接。應(yīng)用中的內(nèi)核可編譯為在 AI 引擎機器學(xué)習(xí)上運行,這些內(nèi)核構(gòu)成了 ADF 計算圖規(guī)范的基礎(chǔ)構(gòu)建塊。ADF 計算圖屬于 Kahn 進(jìn)程網(wǎng)絡(luò),其中包含并行運行的 AI 引擎內(nèi)核。AI 引擎內(nèi)核在數(shù)據(jù)串流和緩沖器上執(zhí)行運算。這些內(nèi)核會耗用輸入數(shù)據(jù)塊并生成輸出數(shù)據(jù)塊。內(nèi)核還可包含靜態(tài)數(shù)據(jù)或運行時參數(shù) ( RTP ) 實參,包括異步實參或同步實參。
下圖顯示
ADF 計算圖的概念視圖及其與處理器系統(tǒng) ( PS )、可編程邏輯 ( PL ) 和 DDR 存儲器的對接接口。它包括:
AI 引擎機器學(xué)習(xí):每個 AI 引擎機器學(xué)習(xí)都是一個 VLIW 處理器,其中包含一個標(biāo)量單元、一個矢量單元、兩個加載單元和一個存儲單元。
AI 引擎內(nèi)核:內(nèi)核是以 AI 引擎機器學(xué)習(xí)中運行的 C/C++ 編寫的。
ADF 計算圖:ADF 計算圖是具有單個或多個 AI 引擎內(nèi)核(以數(shù)據(jù)串流和/或緩沖器連接)的 Kahn 進(jìn)程網(wǎng)絡(luò)。它憑借如下特定構(gòu)造來與 PL、全局存儲器和 PS 進(jìn)行交互,此類構(gòu)造有:PLIO(計算圖中的端口屬性,用于建立往來可編程邏輯的串流連接)、GMIO(計算圖中的端口屬性,用于建立往來全局存儲器的外部存儲器映射連接)和 RTP。
如需了解有關(guān) AI 引擎機器學(xué)習(xí)存儲器拼塊訪問的信息,請參閱 AI 引擎機器學(xué)習(xí)存儲器拼塊訪問。如需了解有關(guān) AI 引擎機器學(xué)習(xí)外部存儲器訪問的信息,請參閱 AI 引擎機器學(xué)習(xí)外部存儲器訪問。
本文檔第 2 章到第 5 章聚焦 AI 引擎內(nèi)核編程,不僅涉及單內(nèi)核編程,還涵蓋了多方面的內(nèi)容,如內(nèi)核之間的數(shù)據(jù)通信,這些內(nèi)容都是將應(yīng)用分區(qū)為多個內(nèi)核以達(dá)成所需的吞吐量所必不可少的概念。
本文檔第 6 到 14 章焦點包括 AI 引擎計算圖編程構(gòu)造、內(nèi)核之間的數(shù)據(jù)通信類型、通過主機應(yīng)用來控制 AI 引擎計算圖以及高級計算圖編程構(gòu)造。
-
處理器
+關(guān)注
關(guān)注
68文章
19259瀏覽量
229651 -
AI
+關(guān)注
關(guān)注
87文章
30728瀏覽量
268886 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8406瀏覽量
132561
原文標(biāo)題:AI 引擎機器學(xué)習(xí)內(nèi)核與計算圖編程指南
文章出處:【微信號:賽靈思,微信公眾號:Xilinx賽靈思官微】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論