加速 Versal AI Engine 的 DSP 工作負載
提高整體系統效能的關鍵
將工作負載交給最能高效率執行之硬體:可程式化邏輯或 Versal AI Engine,可為能效和整體效能帶來巨大差異。瞭解 Versal AI Engine 為何是高效能 DSP 應用的理想選擇。
Versal AI Engine 技術能滿足高效能數位訊號處理 (DSP) 需求。
使用新一代 DSP 應用程式的客戶需要非常強大的運算能力,但這種能力卻無法透過傳統 FPGA 架構有效實現。運算密集型的 DSP 應用,例如 FIR、FFT 和一般矩陣乘法,有可能會占用大量的 DSP 區塊和可程式化邏輯資源。
這項需求會大幅降低傳統可程式化邏輯裝置上的整體運算量能。對於電力預算吃緊的密集型 DSP 工作負載而言,單純增加 DSP 區塊與可程式化邏輯,並非能夠大規模運用的解決之道。
Versal AI Engine 的設計可在這些情況下提供更有效率的運算解決方案。
您可以使用 AMD Vitis™ 開發工具,或使用 Vitis Model Composer 流程來設計目標為 AMD Versal™ AI 引擎的高效能 DSP 功能,藉此善用 MathWorks Simulink® 工具的模擬與圖形功能。
無論採用何種方式,重要的是將 DSP 應用對映至函數,然後實作於現場可程式化閘陣列 (Field Programmable Gate Array, FPGA)、AI 引擎,或 FPGA 邏輯加上 AI 引擎。這需要對於器件功能及整體系統,有相當程度的瞭解。
通常而言,運算密集型函數較適合在 AI 引擎上實作,至於需要移動/重新排序資料的函數,較適合在 FPGA 上實作。
從下方所示範例可見,複雜的過濾和傅立葉變換,通常更適合用於 AI 引擎陣列。
一旦清楚確定函數適合 AI 引擎,就可以使用以下任一選項,將其實作至 AI 引擎中。
附註:也可以從下表中挑選不只一個選項,採用混合式方法進行。
Vitis 平台為 DSP 程式庫、API 和內在函數之運用,提供兩種程式設計環境
以 C/C++ 建置
Vitis 平台擁有開放原始碼建構模塊,適用於常見的 DSP 演算法、函數和裝置圖。您可以為了快速測試,而照原樣使用這些建構模塊,或是根據您的需求加以客製化。
C/C++ 流程
若打算用 AI 引擎設計 DSP,強烈建議從 Vitis DSP 程式庫函數(以 C 語言為基礎)著手。雖然手動編碼可實現更接近理想的實作成果,但採用下述方法卻是使用 AI 引擎設計 DSP 的最快方式,同時還能提供強大效能。(也可以從下表中挑選不只一個選項,採用混合式方法進行)
dsplib::fft::dit1ch::fft_ifft_dit_1ch
aie::vector<int8_t, sizeTileA> A0
aie::vector<int8_t, sizeTileA> A1
Acc0 = mac16(acc0, Bbuff, 0, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);
Acc0 = mac16(acc0, Bbuff, 32, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);
接著就可以透過以 C++ 語言編寫的 Graph C 程式碼,描述多個 AI 引擎磚之間的網路關係,將不同的 AI 引擎函數互連在一起。
採用 Vitis 模型編輯器之以模型為基礎的流程
編輯器可將開發工作導入 MathWorks MATLAB®/Simulink® 環境,讓您在其中產生 Versal AI Engine 內核、整合可程式化邏輯模組,以及模擬系統。
Vitis 模型編輯器流程
使用 Vitis 模型編輯器,則可透過圖形化的方式,互連不同的 AI 引擎函數。這種圖形化表示形式,能夠透過 Vitis 模型編輯器,一鍵轉換為 Graph C 程式碼。MathWorks Simulink 環境的強大模擬功能,亦可在設計驗證上發揮功用。
若要瞭解更多有關使用 Vitis 模型編輯器開發 Versal AI Engine 的資訊,請造訪使用 Vitis 模型編輯器開發 Versal AI Engine 頁面。
AMD Vitis™ 軟體安裝工具中,雖然有 AI 引擎編譯器和模擬器工具,但這些工具仍需取得免費授權才可使用。您可以從產品授權網站取得授權。
請輸入您的詳細資料,然後選擇「AI 引擎工具授權」此一選項。
多相通道分離器是一種降頻轉換工具,以高效率的數位訊號處理方法,將單一資料流承載的一整組分頻多工 (FDM) 通道同時轉換成較低頻帶。通道分離器廣泛應用於無線通訊、雷達、航空/國防和醫療造影系統等多種領域。我們在本教學課程中,結合了 AMD Versal™ 自適應 SoC 器件中的 AI 引擎和可程式化邏輯 (PL) 資源,實現兩種截然不同的通道分離器設計。
如需純可程式化邏輯設計與使用 AMD Versal 自適應 SoC 的自適應 SoC + AI Engine 設計之直接基準測試比較,請與銷售人員或您的 FAE 聯絡,以取得基準測試結果與來源設計。