0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何讓這些乘加器高效地進(jìn)行并行計算?

pmkA_arm_china ? 來源:lp ? 2019-03-27 08:42 ? 次閱讀

隨著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)試排錯的時間,從而降低成本。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 加速器
    +關(guān)注

    關(guān)注

    2

    文章

    790

    瀏覽量

    37675
  • 人工智能
    +關(guān)注

    關(guān)注

    1789

    文章

    46652

    瀏覽量

    237073
  • 生態(tài)系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    697

    瀏覽量

    20695
收藏 人收藏

    評論

    相關(guān)推薦

    arm系統(tǒng)中并行計算優(yōu)化

    fpga的硬件換成我們自己的arm設(shè)備。不過經(jīng)過研究這種設(shè)想不可行。個人看法,也許不對哦。!?。?!arm是一款多核心,單進(jìn)程處理,目前為止arm處理都不支持多線程。所以多線程概念不能將并行計算優(yōu)化
    發(fā)表于 12-30 14:33

    什么是異構(gòu)并行計算

    先了解什么是異構(gòu)并行計算同構(gòu)計算是使用相同類型指令集和體系架構(gòu)的計算單元組成系統(tǒng)的計算方式。而異構(gòu)計算主要是指使用不同類型指令集和體系架構(gòu)的
    發(fā)表于 07-19 08:27

    基于Fast Model的加速軟件開發(fā)

    非常驚艷的加速,在實際使用中體驗卻不盡如人意的原因。以人工智能加速為例,其中基本的硬件加速單元就是的組合,但如何
    發(fā)表于 07-29 15:38

    基于MPI的結(jié)晶傳熱并行計算方法

    針對連鑄結(jié)晶傳熱數(shù)值模擬計算量較大、耗時長的特點(diǎn),基于自行構(gòu)建的并行計算環(huán)境,對計算數(shù)據(jù)域采用對等模式劃分成塊,設(shè)計了用于結(jié)晶傳熱數(shù)值模
    發(fā)表于 12-18 16:53 ?7次下載

    THE MATHWORKS推出新版并行計算工具箱

    THE MATHWORKS推出新版并行計算工具箱 The MathWorks 近日宣布推出新版 Parallel Computing Toolbox(并行計算工具箱),該版本提供了改進(jìn)的分布式數(shù)組,可以 MATLAB 用戶直
    發(fā)表于 11-25 09:17 ?1118次閱讀

    并行計算和嵌入式系統(tǒng)實踐教程

    Linux微機(jī)應(yīng)用十分普遍. 高性能并行計算機(jī)數(shù)量多. 并行計算,我國有自己的理論. 對并行計算的基本原理,算法,程序設(shè)計與實現(xiàn),優(yōu)化,成熟軟件應(yīng)用的推廣不夠. 制約并行計算在研究和工
    發(fā)表于 05-09 15:54 ?48次下載

    并行計算和分布式計算的區(qū)別和聯(lián)系

    并行計算或稱平行計算是相對于串行計算來說的。所謂并行計算可分為時間上的并行和空間上的并行。 時間
    發(fā)表于 12-08 09:59 ?3.6w次閱讀

    基于Matlab和GPU的BESO方法的全流程并行計算策略

    針對傳統(tǒng)并行計算方法實現(xiàn)結(jié)構(gòu)拓?fù)鋬?yōu)化快速計算的硬件成本高、程序開發(fā)效率低的問題,提出了一種基于Matlab和圖形處理(GPU)的雙向漸進(jìn)結(jié)構(gòu)優(yōu)化(BESO)方法的全流程并行計算策略。
    發(fā)表于 12-21 15:04 ?2次下載
    基于Matlab和GPU的BESO方法的全流程<b class='flag-5'>并行計算</b>策略

    基于異構(gòu)并行計算的兩個子概念異構(gòu)和并行的簡單分析

    異構(gòu)并行計算包含兩個子概念:異構(gòu)和并行。 1異構(gòu)是指異構(gòu)并行計算需要同時處理多個不同架構(gòu)的計算平臺的問題。 2并行是指異構(gòu)
    的頭像 發(fā)表于 01-25 16:37 ?6548次閱讀
    基于異構(gòu)<b class='flag-5'>并行計算</b>的兩個子概念異構(gòu)和<b class='flag-5'>并行</b>的簡單分析

    基于云計算的電磁問題并行計算方法

    并行計算所需的彈性集群。計算節(jié)點(diǎn)通過千兆路由相連,節(jié)點(diǎn)之間使用SSH通信協(xié)議。選取感應(yīng)電機(jī)和變壓作為計算案例,使用Fortran編寫靜
    發(fā)表于 03-20 13:56 ?1次下載
    基于云<b class='flag-5'>計算</b>的電磁問題<b class='flag-5'>并行計算</b>方法

    如何使用Web在Java上進(jìn)行并行計算的資料說明

    并行計算需要解決的問題,最后簡要研究并行計算模型的實例JET平臺。該系統(tǒng)可以使用Java小應(yīng)用程序及一系列服務(wù)在Web上執(zhí)行并行程序。它解決本文提出的一些問題,并且允許基于web與
    發(fā)表于 02-15 10:28 ?6次下載
    如何使用Web在Java上<b class='flag-5'>進(jìn)行</b><b class='flag-5'>并行計算</b>的資料說明

    C編程的并行計算詳細(xì)資料說明

    在過去的幾十年間,人們對并行計算產(chǎn)生了越來越多的興趣。并行計算的主要目標(biāo)是提高運(yùn)算速度。從純粹的計算視角來看,并行計算可以被定義為計算的一種
    發(fā)表于 08-02 17:34 ?2次下載
    C編程的<b class='flag-5'>并行計算</b>詳細(xì)資料說明

    CUDA的異構(gòu)并行計算詳細(xì)資料介紹

    小問題,然后在不同的計算資源上并行處理這些小問題。并行計算的軟件和硬件層面是緊密聯(lián)系的。事實上,并行計算通常涉及兩個不同的
    發(fā)表于 07-04 17:41 ?0次下載
    CUDA的異構(gòu)<b class='flag-5'>并行計算</b>詳細(xì)資料介紹

    并行計算的黃金時代到了?

    “未來幾十年將進(jìn)入并行計算黃金時代,并行計算軟件和算法的開發(fā)將從技術(shù)驅(qū)動轉(zhuǎn)向應(yīng)用驅(qū)動,需要計算與應(yīng)用等不同領(lǐng)域的專家共同合作開發(fā)?!敝袊こ淘涸菏坷顕苋涨氨硎尽?/div>
    的頭像 發(fā)表于 04-03 17:18 ?2254次閱讀

    淺析云計算并行計算

    并行計算可以劃分成時間并行和空間并行。時間并行即流水線技術(shù),空間并行使用多個處理執(zhí)行并發(fā)
    的頭像 發(fā)表于 05-03 12:01 ?4517次閱讀
    淺析云<b class='flag-5'>計算</b>和<b class='flag-5'>并行計算</b>