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