欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種眾核環(huán)境下自適應(yīng)的dw類型算子數(shù)據(jù)分布方法和裝置與流程

文檔序號(hào):40432913發(fā)布日期:2024-12-24 15:06閱讀:13來源:國知局
一種眾核環(huán)境下自適應(yīng)的dw類型算子數(shù)據(jù)分布方法和裝置與流程

本發(fā)明屬于智能計(jì)算、高性能計(jì)算、算子開發(fā)、深度學(xué)習(xí)、機(jī)器學(xué)習(xí)交叉領(lǐng)域,具體涉及一種眾核環(huán)境下自適應(yīng)的dw類型算子數(shù)據(jù)分布方法和裝置。


背景技術(shù):

1、智能計(jì)算是一種計(jì)算機(jī)技術(shù),旨在模擬或?qū)崿F(xiàn)類似于人類智能的能力。它涵蓋了多個(gè)子領(lǐng)域,如機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、自然語言處理、計(jì)算機(jī)視覺等。智能計(jì)算的目標(biāo)是通過計(jì)算機(jī)系統(tǒng)模仿人類智能的某些方面,以實(shí)現(xiàn)自動(dòng)并行、智能化的任務(wù)執(zhí)行和決策。

2、算子庫是智能計(jì)算中非常重要的一部分。算子可以理解為一種特定的計(jì)算操作,其在智能計(jì)算中用于表示和處理數(shù)據(jù)。算子庫是一組提供了各種常用算子的軟件庫或編程框架。這些算子可以是數(shù)學(xué)運(yùn)算、數(shù)據(jù)轉(zhuǎn)換、特征提取、模型優(yōu)化等等。算子庫提供了可重用的算子實(shí)現(xiàn),使開發(fā)者能夠更方便地構(gòu)建智能計(jì)算系統(tǒng)。通過使用算子庫,開發(fā)者可以在其應(yīng)用程序中調(diào)用現(xiàn)成的算子,而無需從頭開始實(shí)現(xiàn)這些算子。這樣,他們能夠更加專注于高層的模型設(shè)計(jì)和系統(tǒng)開發(fā),加快開發(fā)速度,并降低代碼的復(fù)雜性。

3、智能計(jì)算與算子庫之間的關(guān)系可以看作是一種功能和工具關(guān)系。智能計(jì)算提供了整體的思想和范式,而算子庫作為其中的一部分,為實(shí)現(xiàn)智能計(jì)算提供了具體的工具和支持。通過使用算子庫,開發(fā)者能夠利用已有的算子來構(gòu)建智能計(jì)算系統(tǒng),提高效率和質(zhì)量。

4、從智能計(jì)算角度出發(fā),?算子庫開發(fā)所面臨的挑戰(zhàn)主要包括:

5、1)算子的復(fù)雜性與多樣性;

6、2)算子性能和效率優(yōu)化;

7、3)硬件和軟件生態(tài)無法兼容。

8、其中,無法充分的根據(jù)ai芯片結(jié)構(gòu)合理的將算子任務(wù)排布在核組中,導(dǎo)致空間和計(jì)算資源利用不充分,進(jìn)一步導(dǎo)致算子性能低或優(yōu)化不明顯,是現(xiàn)階段算子開發(fā)常見的問題。而由于算子的復(fù)雜性(主要體現(xiàn)在相同功能不同輸入輸出形狀),往往需要人工地針對(duì)同種算子的不同形狀設(shè)計(jì)不同的方案。


技術(shù)實(shí)現(xiàn)思路

1、針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提出一種眾核環(huán)境下自適應(yīng)的dw類型算子數(shù)據(jù)分布方法,具體技術(shù)方案如下:

2、本發(fā)明的目的通過如下的技術(shù)方案來實(shí)現(xiàn):

3、一種眾核環(huán)境下自適應(yīng)的dw類型算子數(shù)據(jù)分布方法,包括:

4、步驟一:獲取參與計(jì)算的硬件設(shè)備參數(shù)以及計(jì)算任務(wù)參數(shù);

5、步驟二:根據(jù)所述計(jì)算任務(wù)參數(shù)中的前向傳播的輸入特征圖x和反向傳播的輸入特征圖dy的形狀搜索適應(yīng)硬件設(shè)備參數(shù)的數(shù)據(jù)分布;

6、步驟三:根據(jù)步驟二的硬件設(shè)備參數(shù)的數(shù)據(jù)分布和單次取數(shù)大小,將輸入數(shù)據(jù)劃分為多個(gè)塊進(jìn)行計(jì)算;

7、步驟四:根據(jù)所述步驟二得到的數(shù)據(jù)分布選擇規(guī)約維度和連接寫回維度寫回。

8、進(jìn)一步地,所述步驟一中,參與計(jì)算的硬件設(shè)備參數(shù)包括計(jì)算芯片核組包含的計(jì)算資源個(gè)數(shù)、計(jì)算資源編號(hào)、計(jì)算資源的行列分布參數(shù);計(jì)算任務(wù)參數(shù)包括輸入特征圖x和dy的維度和形狀、卷積核的尺寸、步長(zhǎng),以及x和dy共同的累加維度、x和dy各自的非累加維度;

9、所述步驟二具體包括首先比較計(jì)算資源核組列上的計(jì)算資源個(gè)數(shù)col與計(jì)算資源核組行上的計(jì)算資源個(gè)數(shù)row的大小,然后在col>row和col<=row這兩種情況下均繼續(xù)執(zhí)行如下操作:首先判斷是否切分輸入特征圖x的通道大小c維度,然后判斷是否切分輸入特征圖dy的通道大小m維度,最后判斷是否切分累加維度n*h*w和n*e*f*r*s;其中,n表示batchsize批次大小,h表示輸入特征圖x的高度,w表示輸入特征圖x的寬度,e表示輸入特征圖dy的高度,f表示輸入特征圖dy的寬度,r表示輸入卷積核的高度,s表示輸入卷積核的寬度。

10、進(jìn)一步地,當(dāng)col>row時(shí),判斷是否切分c維度具體包括:

11、判斷c與乘法計(jì)算單元左矩陣行mxu_left_row的大小,若c<mxu_left_row,則不切分c的維度;否則,切分c維度,具體的切分策略為:

12、判斷c/mxu_left_row與row的關(guān)系:

13、若c/mxu_left_row?<=?row,則切分c維度,對(duì)x進(jìn)行列廣播,各列上計(jì)算單元持有大小為ceil(c/mxu_left_row*n*h*w)的x;其中,ceil()為向上取整函數(shù);

14、若c/mxu_left_row?>?row,進(jìn)一步判斷c與m的關(guān)系:若c>m,則對(duì)x進(jìn)行列廣播,各列上計(jì)算單元持有大小為ceil(c/mxu_left_row*n*h*w)的x;若c<=m,不切分c維度;從而完成c維度切分情況的判斷。

15、進(jìn)一步地,當(dāng)col>row時(shí),判斷是否切分m維度的具體包括:

16、若c*m<=max(n*h*w,n*e*f*r*s),則不切分m的維度;

17、若c*m>max(n*h*w,n*e*f*r*s),則進(jìn)一步判斷m/mxu_rt_col與col的關(guān)系;其中,mxu_rt_col表示乘法計(jì)算單元右矩陣列;

18、若m/mxu_rt_col>col,則不切分m維度;

19、若m/mxu_rt_col<=col,則切分m維度,行廣播dy,使得各行上計(jì)算單元持有大小為ceil(m/mxu_rt_col)*?n*e*f*r*s的dy;從而完成m維度切分情況的判斷。

20、進(jìn)一步地,當(dāng)col>row時(shí),判斷是否切分累加維度n*h*w和n*e*f*r*s的子步驟具體包括:

21、若c和m維度皆被切分,則不切分累加維度n*h*w和n*e*f*r*s;

22、若c和m維度均未被切分,則同時(shí)切分累加維度n*h*w和n*e*f*r*s;切分后每列計(jì)算單元持有大小為n*h*w/col的x和n*e*f*r*s?/col的dy;進(jìn)一步判斷c、m大小,若c<m,列廣播存儲(chǔ)x,列分布存儲(chǔ)dy,反之,則列廣播存儲(chǔ)dy,列分布存儲(chǔ)x;

23、若c和m有且只有一個(gè)維度沒有切分,則同時(shí)切分累加維度n*h*w和n*e*f*r*s;切分后,每列計(jì)算單元持有大小為n*h*w/row的x和n*e*f*r*s/row的dy。

24、進(jìn)一步地,當(dāng)col<=row時(shí),判斷是否切分c維度具體包括:

25、判斷c與mxu_left_row的大小,若c<mxu_left_row,則不切分c維度;否則,切分c維度,具體的切分策略為:

26、判斷c/mxu_left_row與col的關(guān)系:

27、若c/mxu_left_row<=?col,則切分c維度,對(duì)x進(jìn)行行廣播,各行上計(jì)算單元持有大小為ceil(c/mxu_left_row)*n*h*w的x;

28、若c/mxu_left_row>col,則進(jìn)一步判斷c與m的關(guān)系,若c>m,則對(duì)x進(jìn)行行廣播,各行上計(jì)算單元持有大小為ceil(c/mxu_left_row)*n*h*w的x;若c<=m,不切分c維度;從而完成c維度切分情況的判斷。

29、進(jìn)一步地,當(dāng)col<=row時(shí),判斷是否切分m維度具體包括:

30、若c*m<=max(n*h*w,n*e*f*r*s),則不切分m維度;

31、若c*m>max(n*h*w,n*e*f*r*s),則進(jìn)一步判斷m/mxu_rt_col與row的關(guān)系;若m/mxu_rt_col>row,則不切分m維度;若m/mxu_rt_col<=row,則切分m維度,列廣播dy,使得各列上計(jì)算單元持有大小為ceil(m/mxu_rt_col)*n*e*f*r*s的dy;從而完成m維度切分情況的判斷。

32、進(jìn)一步地,當(dāng)col<=row時(shí),判斷是否切分累加維度n*h*w和n*e*f*r*s的子步驟具體包括:

33、若c和m維度皆被切分,則不切分累加維度n*h*w和n*e*f*r*s;

34、若c和m維度均未被切分,則同時(shí)切分累加維度n*h*w和n*e*f*r*s;切分后每列計(jì)算單元持有大小為n*h*w/row的x和n*e*f*r*s?/row的dy;進(jìn)一步判斷c、m大小,若c<m,行廣播存儲(chǔ)x,行分布存儲(chǔ)dy,反之,則行廣播存儲(chǔ)dy,行分布存儲(chǔ)x;

35、若c和m有且只有一個(gè)維度沒有切分,則同時(shí)切分累加維度n*h*w和n*e*f*r*s;切分后,每列計(jì)算單元持有大小為n*h*w/col的x和n*e*f*r*s/col的dy。

36、進(jìn)一步地,所述步驟四具體包括如下子步驟:

37、s4.1:判斷廣播形式,如果是行廣播:

38、(1)進(jìn)一步判斷被廣播的對(duì)象;若被廣播對(duì)象為x,則每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維,dy的非累加維/col>;對(duì)dw進(jìn)行列規(guī)約操作,再將結(jié)果規(guī)約至同一行,行上每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維,dy的非累加維/col>;若被廣播對(duì)象為dy,每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維/col,dy的非累加維>,對(duì)dw進(jìn)行列規(guī)約操作,再將結(jié)果規(guī)約至同一行,行上每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維/col,dy的非累加維>;

39、(2)對(duì)規(guī)約行上的每個(gè)結(jié)果dw,進(jìn)行連接寫回操作,得到最終dw形狀為<x的非累加維,dy的非累加維>;

40、判斷廣播形式,如果是列廣播:

41、(a)進(jìn)一步判斷被廣播的對(duì)象;若被廣播對(duì)象為x,每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維,dy的非累加維/row>,對(duì)dw進(jìn)行行規(guī)約操作,再將結(jié)果規(guī)約至同一列,列上每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維,dy的非累加維/row>;若被廣播對(duì)象為dy,?每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維/row,dy的非累加維>,對(duì)dw進(jìn)行行規(guī)約操作;再將結(jié)果規(guī)約至同一列,列上每個(gè)計(jì)算資源得到結(jié)果dw的形狀為<x的非累加維/row,dy的非累加維>;

42、(b)對(duì)規(guī)約列上的每個(gè)結(jié)果dw,進(jìn)行連接寫回操作,得到最終dw形狀為<x的非累加維,dy的非累加維>。

43、一種眾核環(huán)境下自適應(yīng)的dw類型算子數(shù)據(jù)分布裝置,包括參數(shù)獲取模塊、數(shù)據(jù)分布確定模塊、數(shù)據(jù)劃分和計(jì)算模塊,以及數(shù)據(jù)寫回模塊;

44、所述參數(shù)獲取模塊用于獲取參與計(jì)算的硬件設(shè)備參數(shù)以及計(jì)算任務(wù)參數(shù);

45、所述數(shù)據(jù)分布確定模塊根據(jù)所述計(jì)算任務(wù)參數(shù)中的前向傳播的輸入特征圖x和反向傳播的輸入特征圖dy的形狀搜索適應(yīng)硬件設(shè)備參數(shù)的數(shù)據(jù)分布;

46、所述數(shù)據(jù)劃分和計(jì)算模塊根據(jù)所述的硬件設(shè)備參數(shù)的數(shù)據(jù)分布和單次取數(shù)大小,將輸入數(shù)據(jù)劃分為多個(gè)塊進(jìn)行計(jì)算;

47、所述數(shù)據(jù)寫回模塊根據(jù)所述數(shù)據(jù)分布確定模塊得到的數(shù)據(jù)分布選擇規(guī)約維度和連接寫回維度寫回。

48、本發(fā)明的有益效果如下:

49、本發(fā)明的眾核環(huán)境下自適應(yīng)的dw類型算子數(shù)據(jù)分布方法和裝置,能夠針對(duì)計(jì)算芯片和參與計(jì)算的數(shù)據(jù)參數(shù),自適應(yīng)的搜索適應(yīng)計(jì)算的數(shù)據(jù)分布,從而減少了因數(shù)據(jù)分布不合理導(dǎo)致的額外數(shù)據(jù)傳輸?shù)拈_銷,從而優(yōu)化了算子性能。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黔东| 旌德县| 赣榆县| 永丰县| 潮安县| 安多县| 鸡西市| 招远市| 资中县| 布拖县| 富蕴县| 瑞安市| 西和县| 革吉县| 灌阳县| 射阳县| 内江市| 南郑县| 和硕县| 嘉祥县| 桐城市| 济南市| 凤阳县| 宁城县| 九江县| 牟定县| 南江县| 宁远县| 新巴尔虎左旗| 东明县| 哈尔滨市| 建阳市| 长武县| 东山县| 正宁县| 漠河县| 临夏县| 屯门区| 崇左市| 定边县| 永登县|