本申請涉(she)及(ji)建(jian)模領域,尤其(qi)涉(she)及(ji)深度學習加速(su)器性能建(jian)模系統(tong)、性能測試方法(fa)、生成方法(fa)。
背景技術:
1、隨著人工智能(neng)(neng)技(ji)(ji)術的(de)(de)不斷(duan)發(fa)展,以深(shen)度(du)學習(xi)為代表的(de)(de)神(shen)(shen)經網(wang)(wang)絡(luo)(luo)算(suan)法(fa)逐(zhu)漸被廣泛的(de)(de)應用(yong)(yong)到人工智能(neng)(neng)設(she)(she)備(bei)內。目前,由于(yu)人工智能(neng)(neng)在模型訓練與推理(li)(li)(li)中(zhong)需要(yao)(yao)大量的(de)(de)計(ji)(ji)算(suan),但受限于(yu)其(qi)算(suan)法(fa)和(he)計(ji)(ji)算(suan)本(ben)身的(de)(de)特(te)性,傳統的(de)(de)計(ji)(ji)算(suan)芯片已經無法(fa)滿(man)足計(ji)(ji)算(suan)需求(qiu),需要(yao)(yao)通過加(jia)速(su)(su)器對(dui)神(shen)(shen)經網(wang)(wang)絡(luo)(luo)進行(xing)加(jia)速(su)(su),提高(gao)(gao)(gao)神(shen)(shen)經網(wang)(wang)絡(luo)(luo)的(de)(de)計(ji)(ji)算(suan)能(neng)(neng)力。深(shen)度(du)學習(xi)加(jia)速(su)(su)器(deep?learningaccelerator,簡稱為dla)通常使(shi)(shi)用(yong)(yong)專門定(ding)制(zhi)的(de)(de)高(gao)(gao)(gao)度(du)并行(xing)化計(ji)(ji)算(suan)單元(yuan)去處(chu)理(li)(li)(li)特(te)定(ding)的(de)(de)網(wang)(wang)絡(luo)(luo)模型,同時使(shi)(shi)用(yong)(yong)相關的(de)(de)內存技(ji)(ji)術和(he)微架構技(ji)(ji)術使(shi)(shi)得整個加(jia)速(su)(su)器的(de)(de)處(chu)理(li)(li)(li)效率最優。但是在神(shen)(shen)經網(wang)(wang)絡(luo)(luo)模型發(fa)展極為迅速(su)(su)的(de)(de)今(jin)天,設(she)(she)計(ji)(ji)專用(yong)(yong)領域的(de)(de)硬件加(jia)速(su)(su)器周期太長,試錯成本(ben)高(gao)(gao)(gao),產品迭(die)代速(su)(su)度(du)慢,針(zhen)對(dui)該技(ji)(ji)術問題(ti),相關技(ji)(ji)術中(zhong)尚未提出有效地解決(jue)方案。
技術實現思路
1、本申請實(shi)施例提供了深度(du)學習(xi)加速器(qi)性能建模系統、性能測試方(fang)法、生成方(fang)法,以解決上述(shu)一個(ge)或多個(ge)技術(shu)問(wen)題。
2、第一方面,本申請(qing)實施例(li)提供(gong)了一種(zhong)深(shen)度學習加速器(qi)建(jian)模(mo)(mo)系(xi)統(tong),包(bao)括:第一輸(shu)(shu)入(ru)接口,用(yong)于輸(shu)(shu)入(ru)網(wang)絡(luo)(luo)模(mo)(mo)型文件(jian);第二輸(shu)(shu)入(ru)接口,用(yong)于向用(yong)戶提供(gong)簡化后(hou)的硬(ying)件(jian)描(miao)述(shu)(shu)(shu)模(mo)(mo)板(ban),在所(suo)(suo)述(shu)(shu)(shu)用(yong)戶根據所(suo)(suo)述(shu)(shu)(shu)硬(ying)件(jian)描(miao)述(shu)(shu)(shu)模(mo)(mo)板(ban)輸(shu)(shu)入(ru)硬(ying)件(jian)描(miao)述(shu)(shu)(shu)文件(jian)后(hou),自(zi)動(dong)化生成與(yu)深(shen)度學習加速器(qi)dla性能(neng)建(jian)模(mo)(mo)框架(jia)(jia)匹配的計算陣列對(dui)(dui)(dui)(dui)象和內(nei)(nei)存(cun)層級(ji)對(dui)(dui)(dui)(dui)象,以(yi)得到(dao)虛(xu)(xu)擬(ni)dla硬(ying)件(jian)架(jia)(jia)構(gou)(gou),并(bing)使用(yong)所(suo)(suo)述(shu)(shu)(shu)虛(xu)(xu)擬(ni)dla硬(ying)件(jian)架(jia)(jia)構(gou)(gou)處(chu)(chu)理(li)所(suo)(suo)述(shu)(shu)(shu)目標網(wang)絡(luo)(luo)建(jian)模(mo)(mo)文件(jian)所(suo)(suo)對(dui)(dui)(dui)(dui)應(ying)的網(wang)絡(luo)(luo)模(mo)(mo)型,其中,所(suo)(suo)述(shu)(shu)(shu)計算陣列對(dui)(dui)(dui)(dui)象與(yu)所(suo)(suo)述(shu)(shu)(shu)虛(xu)(xu)擬(ni)dla硬(ying)件(jian)架(jia)(jia)構(gou)(gou)的計算系(xi)統(tong)對(dui)(dui)(dui)(dui)應(ying),所(suo)(suo)述(shu)(shu)(shu)內(nei)(nei)存(cun)層級(ji)對(dui)(dui)(dui)(dui)象與(yu)所(suo)(suo)述(shu)(shu)(shu)虛(xu)(xu)擬(ni)dla硬(ying)件(jian)架(jia)(jia)構(gou)(gou)的內(nei)(nei)存(cun)系(xi)統(tong)對(dui)(dui)(dui)(dui)應(ying);分(fen)析模(mo)(mo)型,用(yong)于根據所(suo)(suo)述(shu)(shu)(shu)虛(xu)(xu)擬(ni)dla硬(ying)件(jian)架(jia)(jia)構(gou)(gou)處(chu)(chu)理(li)所(suo)(suo)述(shu)(shu)(shu)網(wang)絡(luo)(luo)模(mo)(mo)型的結果,對(dui)(dui)(dui)(dui)所(suo)(suo)述(shu)(shu)(shu)虛(xu)(xu)擬(ni)dla硬(ying)件(jian)架(jia)(jia)構(gou)(gou)對(dui)(dui)(dui)(dui)應(ying)的dla性能(neng)進(jin)行分(fen)析。
3、第二(er)方面(mian),本申請實施(shi)例提供了一種深(shen)度學習加速(su)器(qi)性(xing)能(neng)(neng)測試(shi)方法,用(yong)于(yu)使用(yong)上述深(shen)度學習加速(su)器(qi)建模系統(tong),執行(xing)目標數據流;根據所述dla性(xing)能(neng)(neng)建模系統(tong)的(de)輸出結果,對dla性(xing)能(neng)(neng)進行(xing)測試(shi)。
4、第三方(fang)(fang)面,本申(shen)請實施(shi)例提供了一種深(shen)度學(xue)習(xi)(xi)加速器生(sheng)成(cheng)方(fang)(fang)法,包(bao)括:使用上述(shu)深(shen)度學(xue)習(xi)(xi)加速器性能測(ce)試方(fang)(fang)法對目(mu)標dla進行測(ce)試;在(zai)所(suo)述(shu)目(mu)標dla的(de)性能滿足預設(she)條件(jian)(jian)時,根據所(suo)述(shu)目(mu)標dla在(zai)所(suo)述(shu)dla性能建模系統中的(de)硬(ying)件(jian)(jian)配置文(wen)件(jian)(jian)生(sheng)成(cheng)dla。
5、第四方面,本申請(qing)實施(shi)例(li)提(ti)供了一種電子(zi)設備(bei),包括存(cun)(cun)儲器(qi)、處理器(qi)及存(cun)(cun)儲在(zai)(zai)存(cun)(cun)儲器(qi)上的(de)(de)計(ji)算(suan)機(ji)程序,所述(shu)處理器(qi)在(zai)(zai)執(zhi)行所述(shu)計(ji)算(suan)機(ji)程序時實現上述(shu)任一項(xiang)所述(shu)的(de)(de)方法。
6、第五(wu)方(fang)面,本申(shen)請(qing)實(shi)施例提供了一(yi)種(zhong)計算(suan)(suan)機(ji)可(ke)讀存儲介(jie)質,所(suo)述(shu)(shu)計算(suan)(suan)機(ji)可(ke)讀存儲介(jie)質內存儲有計算(suan)(suan)機(ji)程序,所(suo)述(shu)(shu)計算(suan)(suan)機(ji)程序被(bei)處理(li)器執行時實(shi)現上述(shu)(shu)任一(yi)項所(suo)述(shu)(shu)的方(fang)法。
7、第六方(fang)面,本申請實施例提供(gong)了(le)一種計(ji)(ji)算(suan)機(ji)程序(xu)產品,包括計(ji)(ji)算(suan)機(ji)指令,所示計(ji)(ji)算(suan)機(ji)指令被處理(li)器執行時實現上述任一項所述的方(fang)法(fa)。
8、與相(xiang)關技術相(xiang)比,本申請具有如下優點:
9、本(ben)申(shen)請實施(shi)例提供的(de)(de)(de)深(shen)度(du)學習加(jia)速器性(xing)能建(jian)模(mo)(mo)(mo)(mo)系(xi)(xi)統(tong),包括:第(di)一輸(shu)(shu)(shu)入(ru)(ru)(ru)(ru)接(jie)口(kou),用(yong)于(yu)輸(shu)(shu)(shu)入(ru)(ru)(ru)(ru)網(wang)絡(luo)模(mo)(mo)(mo)(mo)型(xing)(xing)文件(jian)(jian)(jian)(jian)(jian)(jian);第(di)二輸(shu)(shu)(shu)入(ru)(ru)(ru)(ru)接(jie)口(kou),用(yong)于(yu)向(xiang)用(yong)戶提供簡化(hua)后的(de)(de)(de)硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)描述模(mo)(mo)(mo)(mo)板,在該(gai)用(yong)戶根據該(gai)硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)描述模(mo)(mo)(mo)(mo)板輸(shu)(shu)(shu)入(ru)(ru)(ru)(ru)硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)描述文件(jian)(jian)(jian)(jian)(jian)(jian)后,自(zi)動化(hua)生(sheng)成(cheng)與深(shen)度(du)學習加(jia)速器dla性(xing)能建(jian)模(mo)(mo)(mo)(mo)框架(jia)匹配的(de)(de)(de)計(ji)(ji)(ji)算陣列對(dui)象(xiang)(xiang)和(he)內存(cun)(cun)層級(ji)(ji)對(dui)象(xiang)(xiang),以得到虛(xu)(xu)擬(ni)(ni)dla硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou),并使用(yong)該(gai)虛(xu)(xu)擬(ni)(ni)dla硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou)處(chu)理該(gai)目標(biao)網(wang)絡(luo)建(jian)模(mo)(mo)(mo)(mo)文件(jian)(jian)(jian)(jian)(jian)(jian)所對(dui)應的(de)(de)(de)網(wang)絡(luo)模(mo)(mo)(mo)(mo)型(xing)(xing),其中(zhong)(zhong),該(gai)計(ji)(ji)(ji)算陣列對(dui)象(xiang)(xiang)與該(gai)虛(xu)(xu)擬(ni)(ni)dla硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou)的(de)(de)(de)計(ji)(ji)(ji)算系(xi)(xi)統(tong)對(dui)應,該(gai)內存(cun)(cun)層級(ji)(ji)對(dui)象(xiang)(xiang)與該(gai)虛(xu)(xu)擬(ni)(ni)dla硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou)的(de)(de)(de)內存(cun)(cun)系(xi)(xi)統(tong)對(dui)應;分(fen)析模(mo)(mo)(mo)(mo)型(xing)(xing),用(yong)于(yu)根據該(gai)虛(xu)(xu)擬(ni)(ni)dla硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou)處(chu)理該(gai)網(wang)絡(luo)模(mo)(mo)(mo)(mo)型(xing)(xing)的(de)(de)(de)結果,對(dui)該(gai)虛(xu)(xu)擬(ni)(ni)dla硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou)對(dui)應的(de)(de)(de)dla性(xing)能進行(xing)分(fen)析。也就是說,本(ben)申(shen)請實施(shi)例通過(guo)軟(ruan)件(jian)(jian)(jian)(jian)(jian)(jian)建(jian)模(mo)(mo)(mo)(mo)方法來模(mo)(mo)(mo)(mo)擬(ni)(ni)不同硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou)加(jia)速器的(de)(de)(de)性(xing)能,解(jie)決了硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)加(jia)速器設(she)(she)計(ji)(ji)(ji)周期長、試(shi)錯成(cheng)本(ben)高等問(wen)題(ti)。具體地(di),通過(guo)第(di)二輸(shu)(shu)(shu)入(ru)(ru)(ru)(ru)接(jie)口(kou)用(yong)戶可以輸(shu)(shu)(shu)入(ru)(ru)(ru)(ru)簡單(dan)的(de)(de)(de)硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)配置信息(xi),然后自(zi)動化(hua)生(sheng)成(cheng)計(ji)(ji)(ji)算陣列對(dui)象(xiang)(xiang)和(he)內存(cun)(cun)層級(ji)(ji)對(dui)象(xiang)(xiang),最終得到完整的(de)(de)(de)硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)建(jian)模(mo)(mo)(mo)(mo)對(dui)象(xiang)(xiang)(即,虛(xu)(xu)擬(ni)(ni)dla硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)架(jia)構(gou))。在硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)建(jian)模(mo)(mo)(mo)(mo)端,大(da)大(da)提升(sheng)了建(jian)模(mo)(mo)(mo)(mo)速度(du)和(he)效(xiao)率,簡化(hua)了硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)設(she)(she)計(ji)(ji)(ji)輸(shu)(shu)(shu)入(ru)(ru)(ru)(ru)復(fu)雜度(du),進而解(jie)決了相關(guan)技(ji)術中(zhong)(zhong),用(yong)戶自(zi)定(ding)義編寫復(fu)雜硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)配置文件(jian)(jian)(jian)(jian)(jian)(jian)導致硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)建(jian)模(mo)(mo)(mo)(mo)低效(xiao)、繁(fan)瑣的(de)(de)(de)技(ji)術問(wen)題(ti),同時也解(jie)決了相關(guan)技(ji)術中(zhong)(zhong),使用(yong)少(shao)數幾個固定(ding)的(de)(de)(de)硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)設(she)(she)計(ji)(ji)(ji)模(mo)(mo)(mo)(mo)板導致硬(ying)(ying)(ying)(ying)(ying)(ying)件(jian)(jian)(jian)(jian)(jian)(jian)建(jian)模(mo)(mo)(mo)(mo)靈活性(xing)較低的(de)(de)(de)技(ji)術問(wen)題(ti)。
10、上(shang)述說(shuo)(shuo)明僅是本(ben)(ben)申(shen)請技術方(fang)案的概述,為了能夠更清楚了解(jie)本(ben)(ben)申(shen)請的技術手段,可(ke)依照說(shuo)(shuo)明書的內容予以實(shi)施(shi),并且(qie)為了讓本(ben)(ben)申(shen)請的上(shang)述和(he)(he)其他目(mu)的、特征和(he)(he)優點能夠更明顯易懂(dong),以下特舉本(ben)(ben)申(shen)請的具(ju)體實(shi)施(shi)方(fang)式(shi)。
1.一種深(shen)度學習加速器性能建(jian)模系統,包(bao)括:
2.根據權利(li)要求1所述系統,其中,所述第二輸入接(jie)口包(bao)括:
3.根據權(quan)利要求2所述系統,其(qi)中,所述單核硬件描述模板包(bao)括:計算(suan)陣列、片上(shang)局(ju)部緩(huan)沖(chong)系統、片上(shang)全局(ju)緩(huan)沖(chong)器(qi)、片外內存(cun),其(qi)中,
4.根據權利(li)要(yao)求3所(suo)述(shu)(shu)(shu)系(xi)統(tong),其中,所(suo)述(shu)(shu)(shu)多核硬(ying)件描述(shu)(shu)(shu)模板包(bao)括多個單核描述(shu)(shu)(shu),所(suo)述(shu)(shu)(shu)單核描述(shu)(shu)(shu)和所(suo)述(shu)(shu)(shu)單核描述(shu)(shu)(shu)模板對應。
5.根據權利要求(qiu)4所述(shu)(shu)(shu)系統,其中,所述(shu)(shu)(shu)硬件(jian)架構生(sheng)成(cheng)器(qi)還用(yong)于根據所述(shu)(shu)(shu)硬件(jian)描述(shu)(shu)(shu)文件(jian)生(sheng)成(cheng)一個或(huo)多(duo)個核配置信(xin)息(xi),以調用(yong)對應的核生(sheng)成(cheng)器(qi)建模該核的局(ju)部部件(jian),得到(dao)一個或(huo)多(duo)個核的建模對象,將所述(shu)(shu)(shu)一個或(huo)多(duo)個核的建模對象以及核間(jian)互聯信(xin)息(xi)打(da)包后(hou),得到(dao)所述(shu)(shu)(shu)虛擬(ni)dla硬件(jian)架構。
6.根據權利要求5所(suo)述(shu)系統,其中,所(suo)述(shu)核(he)生(sheng)成器包括(kuo):
7.根據(ju)權利要求6所(suo)(suo)述(shu)(shu)系(xi)統,其中,所(suo)(suo)述(shu)(shu)核生成器還包(bao)括:檢查模塊,用于對所(suo)(suo)述(shu)(shu)核配置(zhi)信息的正確性進行檢查。
8.根據權利要求6所(suo)述系統,其中,
9.根據(ju)權利要求8所述系統,其中,
10.一種(zhong)深(shen)度學習加速器性能測(ce)試方(fang)法,包括:
11.一種深度學習加速器生成方法,包括:
12.一(yi)(yi)種(zhong)電子設備,包(bao)括存儲器(qi)(qi)、處理器(qi)(qi)及存儲在(zai)存儲器(qi)(qi)上(shang)的(de)計算機程(cheng)(cheng)序,所述處理器(qi)(qi)在(zai)執行所述計算機程(cheng)(cheng)序時(shi)實現(xian)權利要求10-11任一(yi)(yi)項所述的(de)方法。
13.一種計算(suan)機(ji)(ji)可(ke)讀(du)存儲(chu)介質,所述計算(suan)機(ji)(ji)可(ke)讀(du)存儲(chu)介質內存儲(chu)有(you)計算(suan)機(ji)(ji)程序(xu),所述計算(suan)機(ji)(ji)程序(xu)被處理器執(zhi)行時實現權利要(yao)求10-11任一項所述的方法。
14.一(yi)種計算(suan)機程序產品,包(bao)括計算(suan)機指令,所示(shi)計算(suan)機指令被處理器執行(xing)時實現權(quan)利要求10-11任一(yi)項(xiang)所述的(de)方法(fa)。