tft每日頭條

 > 科技

 > AI加速引擎

AI加速引擎

科技 更新时间:2025-02-04 04:27:58

今天的設計團隊如果采用傳統的 RTL 設計流程,将花費很多時間才能将運算密集型網絡帶入到硬件中,該領域亟需一個有别于以往 RTL 流程,同時又能有效提高生産力的方法。

CATAPULT HLS 平台的時代來臨

15 年前,Mentor 認識到設計和驗證團隊需要從 RTL 升級到 HLS 層級,并開發 Catapult®HLS 平台。該平台提供了從 C 到最佳化 RTL 的完整流程(圖 1)。

AI加速引擎(AI加速器生态系統)1

圖 1:Catapult HLS 平台

Catapult HLS 平台為算法設計師提供硬件設計解決方案,可以從 C /SystemC 描述,生成高品質的 RTL,并且以 ASIC、FPGA 或 eFPGA 為目标。此平台能在合成之前檢查設計中的錯誤、為功能驗證和覆蓋率分析提供無縫且可重複使用的測試環境,同時支持在生成的 RTL 與原始 HLS 來源之間執行形式等效性檢查。

該解決方案的優勢包括:

  • 支持後期階段變更。可随時變更 C 算法,重新生成 RTL 代碼或使用新制程。
  • 支持硬件評價。可迅速地探索功耗、性能和面積選項,而無需變更原始代碼。
  • 加快時程。将設計和驗證所花時間從一年縮短至幾個月,可在數日内增添新功能,使用的 C/C 代碼行數比 RTL 減少 5 倍。

AI 加速器生态系統

同時,Mentor 在 Catapult HLS 平台中部署了 AI 加速器生态系統(圖 2),為 AI 設計師提供能快速展開項目的環境。

AI加速引擎(AI加速器生态系統)2

圖 2:Catapult AI 加速器生态系統

AC MATH 數據庫

Algorithmic C Math(AC Math)中的所有函數都以 C 模闆參數寫成,讓設計師可依據目标應用來指定數值的精準度。許多函數都使用不同的近似策略,例如,自然對數提供兩種形式,即分段線性近似和 cordic 形式。在可接受準确度稍有誤差的情況下,前者較小且較快; 後者雖然較慢,但準确許多。所有情況下都能自定義來源以達成設計目标。每個功能/内存塊都附有詳細的設計文件和 C 驗證程序。由于 Catapult HLS 平台會利用 C 驗證程序,因此很容易根據來源設計來驗證 RTL 準确度。

該數據庫中的數學函數類别包括:

  • 分段線性函數 - 絕對值、正規化、倒數、對數和指數(自然和底數 2)、平方根、反平方根和正弦/餘弦/正切(正和反)
  • 激勵函數,如雙曲正切、S 函數和 Leaky ReLU 函數
  • 線性代數函數,如矩陣乘法和 Cholesky 分解

DSP 數據庫

Algorithmic C DSP(AC DSP)數據庫定義了 DSP 設計師通常所需要的可合成 C 函數,例如濾波器和 FFT。這些函數采用以 C 類别為主的設計,讓設計師能輕松示例物件的衆多變體,以打造複雜的 DSP 子系統。與 AC Math 數據庫一樣,輸入和輸出參數都會參數化,以便能在所需的定點精确度下執行算術,從而在為合成的硬件執行面積和性能折衷時,提供高度的彈性。

DSP 數據庫包含:

  • 濾波器函數,如 FIR、1-D 移動均值,以及多相位抽取
  • 快速傅立葉變換(FFT)函數,如 radix-22 單一延遲回授、radix-2x 動态就位和 radix-2 就位圖像處理數據庫 Algorithmic C 圖像處理數據庫(AC IPL)首先會定義一些常見的像素格式類型定義。

AI 加速器生态系統還可提供豐富的工具組,由真實且經過測試的加速器參考設計示例,團隊可以研究、修改和複制這些示例,迅速展開項目。這些随 Catapult 提供的套件,包含了可設定的 C /SystemC IP 原始代碼、文件紀錄、驗證程序和指令碼,讓設計能進行 HLS 合成和驗證流程。這些工具組展示了各種能用來對性能(延遲)、幀率、面積或功率的折衷進行實驗的方法和編寫程序技術。

PIXEL-PIPE 視訊處理工具組

該視訊處理工具組展示了一個使用 pixel-pipe 加速器的即時圖像處理應用程序(圖 3)。加速器内存塊使用 C 類階層構架來實作。該内存塊将圖像縮小,并将圖像從彩色轉換為單色,以執行邊緣偵測,然後放大圖像。Xilinx®PetaLinux 下的 CPU 上,執行了一個使用者空間應用程序,此程序能讓軟件控制開啟或關閉邊緣偵測内存塊。工具組文件紀錄會顯示如何使用 Xilinx IP 将該内存塊整合到 Xilinx 電路闆中,以便團隊展示該系統。

AI加速引擎(AI加速器生态系統)3

圖 3:Pixel-pipe 視訊處理工具組

2-D 折積工具組

該工具組展示了如何以 C 對 Eyeriss1 處理元件(PE)數組進行編碼,實作 2-D 折積以執行圖像的強化(銳化、模糊和邊緣偵測)。處理元件(圖 4)可以執行 3x1 乘積累加(折積)。

AI加速引擎(AI加速器生态系統)4

圖 4:Eyeriss 處理元件

TINYYOLO 物件辨識工具組

物件辨識工具組(圖 5)展示了使用折積加速器引擎的物件辨識應用程序,該引擎使用 2-D Eyeriss 工具組中的 PE 數組實現。該工具組展示了如何透過 AXI4 互連(從系統內存來讀取核心權重數據)取得高速數據路由,并展示如何定義高效能內存構架。該工具組提供 TensorFlow 整合能力,可以 C 語言的網絡層能進行推理測試。

AI加速引擎(AI加速器生态系統)5

圖 5:TINYYOLO 工具組示例 - 系統視圖

系統整合

加速器内存塊并非獨立存在,Catapult HLS 提供“界面合成”能力,以将時間性協定加入至非時間性 C 函數界面變數。設計師隻需要在 Catapult GUI 中,為協定設定構架約束條件。此工具可支持典型的協定,例如 AXI4 視訊串流、請求/認可交握,以及內存界面。這讓設計師不必變更 C 原始碼,就能探索界面協定。

AXI 示例

AXI 示例(圖 6)顯示了如何使用 Catapult HLS 産生的 AXI 界面 IP,在 AXI SoC 子系統中示例一個或多個加速器元件。提供主控端、受控端和串流示例。

AI加速引擎(AI加速器生态系統)6

圖 6:AXI 示例

基礎處理器示例

基礎處理器示例(圖 7)顯示了如何将機器學習加速器連接到完整的處理器型系統中,并采用了 AXI 示例。此示例中的機器學習加速器采用了簡單的乘積/累加構架,搭配 2-D 折積和區域取最大值。支持數個第三方處理器 IP 模型,并包含一個用于裸金屬編程的軟件流程(含有相關數據)。

AI加速引擎(AI加速器生态系統)7

圖 7:基礎處理器平台示例

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved