隨著Arm生態(tài)系統(tǒng)的發(fā)展壯大,各種各樣的應(yīng)用場景層出不窮。為了更好地在特定場景下得到更好的性能,能耗比等指標(biāo),針對特定應(yīng)用場景的加速器市場也在蓬勃發(fā)展,近年來火熱的人工智能加速器(Artificial Intelligence Accelerator)就是一個典型例子。
一個高效的加速器,需要精心設(shè)計的硬件以及與之搭配的軟件,兩者缺一不可,否則用戶體驗會大打折扣,這也是為什么我們常常看到某些指標(biāo)非常驚艷的加速器,在實際使用中體驗卻不盡如人意的原因。以人工智能加速器為例,其中基本的硬件加速單元就是乘加器的組合,但如何讓這些乘加器高效地進(jìn)行并行計算,涉及到上層數(shù)據(jù)的打包、調(diào)度,需要大量的驅(qū)動軟件工作,而且大部分軟件開發(fā)者都是基于某種框架進(jìn)行應(yīng)用開發(fā),具體見圖 1,所以驅(qū)動到框架的適配也很重要,甚至有一些框架不能滿足應(yīng)用的需求,需要專門開辟通道進(jìn)行優(yōu)化。
圖1:ArmNPU軟硬件框架
開發(fā)一款高性能加速器,需要投入大量人力物力,如果不能大規(guī)模使用,那么投入回報比會大大降低,甚至虧本。如果加速器能和不同Arm系統(tǒng)輕松組合,拓展Arm系統(tǒng)的應(yīng)用范圍,那么應(yīng)用場景將會大大增加,生命周期也會延長。讓加速器適配不同的Arm系統(tǒng),這對軟硬件接口和驅(qū)動提出了非常大的挑戰(zhàn),因為今天的Arm產(chǎn)品非常豐富,從低功耗的微處理器,主流的移動平臺,到高端的服務(wù)器,高性能計算處理器都有相應(yīng)產(chǎn)品。對于一個加速器團(tuán)隊來說,針對盡可能多的Arm配置組合進(jìn)行開發(fā)驗證成本將非常高昂,這里面不單單涉及IP/EDA的采購,還有系統(tǒng)的搭建維護(hù),但如果沒有這些IP又無法將整個業(yè)務(wù)流程完整驗證,甚至影響軟硬件接口的設(shè)計優(yōu)化。
有沒有方法高效地解決加速器配套驅(qū)動,框架,應(yīng)用軟件開發(fā)的問題呢?Fast Model!
圖2:使用DS-5調(diào)試運(yùn)行在Fast Model中的系統(tǒng)軟件
在Fast Model的例子系統(tǒng)中,Arm給出了一系列Arm核,相關(guān)IP組合的子系統(tǒng)模型,以及相應(yīng)OS,開發(fā)工具DS-5,方便客戶快速搭建軟件開發(fā)平臺,調(diào)整軟硬件接口,進(jìn)行驅(qū)動以及上層軟件的開發(fā),具體參考圖3。
整個開發(fā)流程如下:
1.在Fast Model的例子系統(tǒng)中找到你需要的平臺,和對應(yīng)的Bootloader, Firmware,OS軟件,并將他們順利運(yùn)行
2.將Fast Model的子系統(tǒng)導(dǎo)出生成SystemC的模型子系統(tǒng)模塊
3.編寫加速器的功能模型,通過AMBA PV總線和Fast Model導(dǎo)出的子系統(tǒng)模塊進(jìn)行連接
4.編寫驅(qū)動在目標(biāo)OS中操作加速器
5.在模型平臺上進(jìn)行軟件框架,應(yīng)用匹配移植
Arm提供了絕大部分市面可見設(shè)計的類似子系統(tǒng),無論是基于Arm v7/v8單核,多核,多cluster系統(tǒng),還是包含最新架構(gòu)特性的CPU系統(tǒng),加速器開發(fā)團(tuán)隊都可以在Fast Model的例子程序里面找對類似子系統(tǒng)范例進(jìn)行適配,在設(shè)計之初就可以解決不同系統(tǒng)的適配性問題。Fast Model也提供工具讓開發(fā)者對例子系統(tǒng)進(jìn)行修改,生成新的子系統(tǒng)以滿足需要。在加速器設(shè)計之初,軟件硬件人員就可以一起利用豐富多樣的例子系統(tǒng)進(jìn)行架構(gòu)的探索,對穩(wěn)定軟硬件接口非常有幫助,而穩(wěn)定的接口定義對長期的產(chǎn)品演進(jìn)至關(guān)重要。
圖3:基于Fast Model的加速器軟件開發(fā)
至此開發(fā)者已經(jīng)完成了大部軟硬件接口,驅(qū)動以及框架軟件開發(fā)工作,但驅(qū)動中的時序問題還沒有完全解決,因為Fast Model是一款功能型模型,它為了提高運(yùn)行速度(50-200MHz),犧牲了時序信息。對于時序信息,開發(fā)者可以最后去仿真平臺甚至最終芯片上去調(diào)節(jié),而此時軟件測試用例和框架都已經(jīng)完成,這將大大節(jié)省占用仿真平臺(MHz)進(jìn)行調(diào)試排錯的時間,從而降低成本。
-
加速器
+關(guān)注
關(guān)注
2文章
799瀏覽量
37877 -
人工智能
+關(guān)注
關(guān)注
1791文章
47282瀏覽量
238536 -
生態(tài)系統(tǒng)
+關(guān)注
關(guān)注
0文章
702瀏覽量
20727
發(fā)布評論請先 登錄
相關(guān)推薦
評論