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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DSP數(shù)據(jù)庫(kù)包含:

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

PIXEL-PIPE視訊處理工具組

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

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

2-D折積工具組

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

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

TINYYOLO物件辨識(shí)工具組

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

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

系統(tǒng)整合

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

AXI示例

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

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

基礎(chǔ)處理器示例

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

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

關(guān)閉

?

關(guān)閉