你的位置:首頁(yè) > 測試測量 > 正文

AI加速器生態(tài)系統

發(fā)布時(shí)間:2020-05-26 責任編輯:lina

【導讀】今天的設計團隊如果采用傳統的RTL設計流程,將花費很多時(shí)間才能將運算密集型網(wǎng)絡(luò )帶入到硬件中,該領(lǐng)域亟需一個(gè)有別于以往RTL流程,同時(shí)又能有效提高生產(chǎn)力的方法。
 
今天的設計團隊如果采用傳統的RTL設計流程,將花費很多時(shí)間才能將運算密集型網(wǎng)絡(luò )帶入到硬件中,該領(lǐng)域亟需一個(gè)有別于以往RTL流程,同時(shí)又能有效提高生產(chǎn)力的方法。

CATAPULT HLS平臺的時(shí)代來(lái)臨
15年前,Mentor認識到設計和驗證團隊需要從RTL升級到HLS層級,并開(kāi)發(fā)Catapult®HLS平臺。該平臺提供了從C + +到最佳化RTL的完整流程(圖1)。
 
 

AI加速器生態(tài)系統
圖1:Catapult HLS平臺

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

該解決方案的優(yōu)勢包括:

支持后期階段變更??呻S時(shí)變更C++算法,重新生成RTL代碼或使用新制程。
支持硬件評價(jià)??裳杆俚靥剿鞴?、性能和面積選項,而無(wú)需變更原始代碼。
加快時(shí)程。將設計和驗證所花時(shí)間從一年縮短至幾個(gè)月,可在數日內增添新功能,使用的C/C++代碼行數比RTL減少5倍。
AI加速器生態(tài)系統

同時(shí),Mentor在Catapult HLS平臺中部署了AI加速器生態(tài)系統(圖2),為AI設計師提供能快速展開(kāi)項目的環(huán)境。

AI加速器生態(tài)系統
圖2:Catapult AI加速器生態(tài)系統

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

該數據庫中的數學(xué)函數類(lèi)別包括:

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

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

DSP數據庫包含:

濾波器函數,如FIR、1-D移動(dòng)均值,以及多相位抽取
快速傅立葉變換(FFT)函數,如radix-22單一延遲回授、radix-2x動(dòng)態(tài)就位和radix-2就位圖像處理數據庫Algorithmic C圖像處理數據庫(AC IPL)首先會(huì )定義一些常見(jiàn)的像素格式類(lèi)型定義。
AI加速器生態(tài)系統還可提供豐富的工具組,由真實(shí)且經(jīng)過(guò)測試的加速器參考設計示例,團隊可以研究、修改和復制這些示例,迅速展開(kāi)項目。這些隨Catapult提供的套件,包含了可設定的C++/SystemC IP原始代碼、文件紀錄、驗證程序和指令碼,讓設計能進(jìn)行HLS合成和驗證流程。這些工具組展示了各種能用來(lái)對性能(延遲)、幀率、面積或功率的折衷進(jìn)行實(shí)驗的方法和編寫(xiě)程序技術(shù)。

PIXEL-PIPE視訊處理工具組

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

AI加速器生態(tài)系統
圖3:Pixel-pipe視訊處理工具組

2-D折積工具組

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

AI加速器生態(tài)系統
圖4:Eyeriss處理元件

TINYYOLO物件辨識工具組

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

AI加速器生態(tài)系統
圖5:TINYYOLO工具組示例-系統視圖

系統整合

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

AXI示例

AXI示例(圖6)顯示了如何使用Catapult HLS產(chǎn)生的AXI界面IP,在A(yíng)XI SoC子系統中示例一個(gè)或多個(gè)加速器元件。提供主控端、受控端和串流示例。

AI加速器生態(tài)系統
圖6:AXI示例

基礎處理器示例

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

AI加速器生態(tài)系統
圖7:基礎處理器平臺示例
 
 
 
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問(wèn)題,請聯(lián)系小編進(jìn)行處理。
 
 
推薦閱讀:
官宣 !2020中國(成都)電子信息博覽會(huì ),延期至8月舉辦
如何避免PCB差分信號設計的3個(gè)常見(jiàn)的誤區?
變頻器行業(yè)年度評選投票火熱進(jìn)行中
【技術(shù)干貨】針對M2351系列故障注入攻擊的軟件防護措施
電子換向為交流和直流風(fēng)扇應用提供更佳的節能效果
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页