两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種多維度數(shù)據(jù)的處理方法、裝置、設(shè)備和介質(zhì)與流程

文檔序號:40656236發(fā)布日期:2025-01-10 19:07閱讀:14來源:國知局
一種多維度數(shù)據(jù)的處理方法、裝置、設(shè)備和介質(zhì)與流程

本發(fā)明涉及數(shù)據(jù)處理,特別是涉及一種多維度數(shù)據(jù)的處理方法、裝置、設(shè)備和介質(zhì)。


背景技術(shù):

1、隨著深度學(xué)習(xí)和人工智能技術(shù)的飛速進步,對于能夠執(zhí)行復(fù)雜計算任務(wù)的高性能計算能力的需求也急劇增加。在圖形處理器(graphics?processing?unit,gpu)的環(huán)境下,使用計算統(tǒng)一設(shè)備架構(gòu)(compute?unified?device?architecture,cuda)進行并行計算已成為提升計算速度的關(guān)鍵手段。

2、在深度學(xué)習(xí)中,張量(tensor)是基本的數(shù)據(jù)結(jié)構(gòu),其通過形狀(shape)、步長(strides)、維度(ndim)等屬性參數(shù)描述多維數(shù)組的布局。cuda算子在執(zhí)行時,經(jīng)常需要處理的數(shù)據(jù)在內(nèi)存中并不是連續(xù)存儲的,或者如果兩個張量的形狀不完全相同,由于它們的元素?zé)o法一一對應(yīng),直接進行元素級運算通常是不可能的。這意味著在進行計算時,計算機需要不斷地在不同的內(nèi)存位置之間跳轉(zhuǎn),并不能按序存取數(shù)據(jù),否則會造成越界錯誤。需要根據(jù)形狀、步長和維度等這些屬性參數(shù)計算出每個元素在內(nèi)存中的確切位置即索引,以實現(xiàn)數(shù)據(jù)的正確讀寫。傳統(tǒng)的索引計算方法往往面臨越界訪問、計算復(fù)雜度高以及難以并行化等問題,這些問題限制了整體性能的提升。

3、可見,如何高效、準(zhǔn)確的實現(xiàn)數(shù)據(jù)的存取和計算,是本領(lǐng)域技術(shù)人員需要解決的問題。


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

1、本發(fā)明實施例的目的是提供一種多維度數(shù)據(jù)的處理方法、裝置、設(shè)備和介質(zhì),可以解決索引計算面臨的越界訪問、計算復(fù)雜度高以及難以并行化的問題。

2、為解決上述技術(shù)問題,本發(fā)明實施例提供一種多維度數(shù)據(jù)的處理方法,包括:

3、依據(jù)輸入的張量參數(shù)對模板進行實例化處理,以得到偏移量計算實例;其中,所述張量參數(shù)包括輸入數(shù)組和輸出數(shù)組各自對應(yīng)的形狀、步長、維度和數(shù)據(jù);

4、對所述偏移量計算實例進行初始化操作,以確定出每個輸入數(shù)組在每個輸出維度上的步長和形狀,并將每個輸入數(shù)組在每個輸出維度上的步長和形狀記錄在設(shè)定的存儲空間;

5、啟動所述偏移量計算實例對所述存儲空間中記錄的每個輸入數(shù)組在每個輸出維度上的步長和形狀進行索引計算,以得到所述輸出數(shù)組對應(yīng)的偏移量;

6、按照設(shè)定的運算規(guī)則對所述偏移量對應(yīng)的數(shù)據(jù)進行運算,以得到輸出結(jié)果。

7、一方面,啟動所述偏移量計算實例對所述存儲空間中記錄的每個輸入數(shù)組在每個輸出維度上的步長和形狀進行索引計算,以得到所述輸出數(shù)組對應(yīng)的偏移量包括:

8、初始化一個全零的偏移量寄存器;其中,所述偏移量寄存器用于存儲偏移量;

9、遍歷所述輸出數(shù)組的維度,從所述存儲空間中讀取當(dāng)前維度下的形狀和步長;

10、判斷當(dāng)前維度是否小于或等于最大維度值并且已遍歷完所述輸出數(shù)組的所有維度;

11、在當(dāng)前維度小于或等于最大維度值并且未遍歷完所述輸出數(shù)組的所有維度的情況下,利用所述偏移量計算實例內(nèi)置的取余函數(shù)對當(dāng)前索引對應(yīng)的形狀和步長進行取余操作,將得到的商值作為下一維度的索引,將余數(shù)與步長的乘積作為當(dāng)前維度對應(yīng)的偏移量;

12、將當(dāng)前維度對應(yīng)的偏移量存儲至所述偏移量寄存器;

13、將當(dāng)前維度加一作為最新的當(dāng)前維度,并將下一維度的索引作為最新的當(dāng)前索引,返回從所述存儲空間中讀取當(dāng)前維度下的形狀和步長的步驟;

14、直至當(dāng)前維度大于最大維度值或者遍歷完所述輸出數(shù)組的所有維度,則結(jié)束對所述輸出數(shù)組的維度的遍歷,并讀取所述偏移量寄存器中記錄的所有維度對應(yīng)的偏移量;

15、將所有維度對應(yīng)的偏移量的累加值作為輸出數(shù)組對應(yīng)的偏移量。

16、一方面,遍歷所述輸出數(shù)組的維度,從所述存儲空間中讀取當(dāng)前維度下的形狀和步長之后,還包括:

17、在所述輸入數(shù)組的維度大于或等于所述輸出數(shù)組的維度的情況下,對所述輸入數(shù)組的元素執(zhí)行復(fù)制操作以匹配所述輸出數(shù)組的維度。

18、一方面,利用所述偏移量計算實例內(nèi)置的取余函數(shù)對當(dāng)前索引對應(yīng)的形狀和步長進行取余操作包括:

19、利用所述偏移量計算實例包含的divmod函數(shù)對當(dāng)前索引對應(yīng)的形狀和步長進行取余操作。

20、一方面,在依據(jù)輸入的張量參數(shù)對模板進行實例化處理,以得到偏移量計算實例之前,還包括:

21、在所述模板中部署統(tǒng)一計算設(shè)備架構(gòu)的關(guān)鍵字,以使得數(shù)據(jù)在圖形處理器上執(zhí)行多次計算并且無需傳回中央處理器。

22、一方面,按照設(shè)定的運算規(guī)則對所述偏移量對應(yīng)的數(shù)據(jù)進行運算,以得到輸出結(jié)果包括:

23、調(diào)用指針?biāo)阈g(shù)計算公式對所述偏移量對應(yīng)的數(shù)據(jù)進行處理,以得到輸出結(jié)果;其中,所述指針?biāo)阈g(shù)計算公式如下:

24、;

25、其中,表示輸出結(jié)果,表示執(zhí)行函數(shù),表示運算規(guī)則對應(yīng)的函數(shù),表示所述偏移量對應(yīng)的數(shù)據(jù)的指針,表示所述偏移量。

26、一方面,在依據(jù)輸入的張量參數(shù)對模板進行實例化處理,以得到偏移量計算實例之后,還包括:

27、在獲取到配置調(diào)整指令的情況下,根據(jù)所述配置調(diào)整指令中攜帶的新的模板參數(shù)對所述偏移量計算實例包含的初始模板參數(shù)進行調(diào)整,以得到新的偏移量計算實例;其中,所述模板參數(shù)包括輸入數(shù)組的數(shù)量、索引的類型和/或步長類型。

28、本發(fā)明實施例還提供了一種多維度數(shù)據(jù)的處理裝置,包括實例化單元、初始化單元、索引計算單元和運算單元;

29、所述實例化單元,用于依據(jù)輸入的張量參數(shù)對模板進行實例化處理,以得到偏移量計算實例;其中,所述張量參數(shù)包括輸入數(shù)組和輸出數(shù)組各自對應(yīng)的形狀、步長、維度和數(shù)據(jù);

30、所述初始化單元,用于對所述偏移量計算實例進行初始化操作,以確定出每個輸入數(shù)組在每個輸出維度上的步長和形狀,并將每個輸入數(shù)組在每個輸出維度上的步長和形狀記錄在設(shè)定的存儲空間;

31、所述索引計算單元,用于啟動所述偏移量計算實例對所述存儲空間中記錄的每個輸入數(shù)組在每個輸出維度上的步長和形狀進行索引計算,以得到所述輸出數(shù)組對應(yīng)的偏移量;

32、所述運算單元,用于按照設(shè)定的運算規(guī)則對所述偏移量對應(yīng)的數(shù)據(jù)進行運算,以得到輸出結(jié)果。

33、一方面,所述索引計算單元包括初始化子單元、第一讀取子單元、判斷子單元、取余子單元、存儲子單元、加一子單元、作為子單元、第二讀取子單元和累加子單元;

34、所述初始化子單元,用于初始化一個全零的偏移量寄存器;其中,所述偏移量寄存器用于存儲偏移量;

35、所述第一讀取子單元,用于遍歷所述輸出數(shù)組的維度,從所述存儲空間中讀取當(dāng)前維度下的形狀和步長;

36、所述判斷子單元,用于判斷當(dāng)前維度是否小于或等于最大維度值并且已遍歷完所述輸出數(shù)組的所有維度;

37、所述取余子單元,用于在當(dāng)前維度小于或等于最大維度值并且未遍歷完所述輸出數(shù)組的所有維度的情況下,利用所述偏移量計算實例內(nèi)置的取余函數(shù)對當(dāng)前索引對應(yīng)的形狀和步長進行取余操作,將得到的商值作為下一維度的索引,將余數(shù)與步長的乘積作為當(dāng)前維度對應(yīng)的偏移量;

38、所述存儲子單元,用于將當(dāng)前維度對應(yīng)的偏移量存儲至所述偏移量寄存器;

39、所述加一子單元,用于將當(dāng)前維度加一作為最新的當(dāng)前維度;

40、所述作為子單元,用于將下一維度的索引作為最新的當(dāng)前索引,返回從所述存儲空間中讀取當(dāng)前維度下的形狀和步長的步驟;

41、所述第二讀取子單元,用于直至當(dāng)前維度大于最大維度值或者遍歷完所述輸出數(shù)組的所有維度,則結(jié)束對所述輸出數(shù)組的維度的遍歷,并讀取所述偏移量寄存器中記錄的所有維度對應(yīng)的偏移量;

42、所述累加子單元,用于將所有維度對應(yīng)的偏移量的累加值作為輸出數(shù)組對應(yīng)的偏移量。

43、一方面,還包括復(fù)制單元;

44、所述復(fù)制單元,用于遍歷所述輸出數(shù)組的維度,從所述存儲空間中讀取當(dāng)前維度下的形狀和步長之后,在所述輸入數(shù)組的維度大于或等于所述輸出數(shù)組的維度的情況下,對所述輸入數(shù)組的元素執(zhí)行復(fù)制操作以匹配所述輸出數(shù)組的維度。

45、一方面,所述取余子單元用于利用所述偏移量計算實例包含的divmod函數(shù)對當(dāng)前索引對應(yīng)的形狀和步長進行取余操作。

46、一方面,還包括部署單元;

47、所述部署單元,用于在依據(jù)輸入的張量參數(shù)對模板進行實例化處理,以得到偏移量計算實例之前,在所述模板中部署統(tǒng)一計算設(shè)備架構(gòu)的關(guān)鍵字,以使得數(shù)據(jù)在圖形處理器上執(zhí)行多次計算并且無需傳回中央處理器。

48、一方面,所述運算單元用于調(diào)用指針?biāo)阈g(shù)計算公式對所述偏移量對應(yīng)的數(shù)據(jù)進行處理,以得到輸出結(jié)果;其中,所述指針?biāo)阈g(shù)計算公式如下:

49、;

50、其中,表示輸出結(jié)果,表示執(zhí)行函數(shù),表示運算規(guī)則對應(yīng)的函數(shù),表示所述偏移量對應(yīng)的數(shù)據(jù)的指針,表示所述偏移量。

51、一方面,還包括調(diào)整單元;

52、所述調(diào)整單元,用于在依據(jù)輸入的張量參數(shù)對模板進行實例化處理,以得到偏移量計算實例之后,在獲取到配置調(diào)整指令的情況下,根據(jù)所述配置調(diào)整指令中攜帶的新的模板參數(shù)對所述偏移量計算實例包含的初始模板參數(shù)進行調(diào)整,以得到新的偏移量計算實例;其中,所述模板參數(shù)包括輸入數(shù)組的數(shù)量、索引的類型和/或步長類型。

53、本發(fā)明實施例還提供了一種多維度數(shù)據(jù)的處理設(shè)備,包括:

54、存儲器,用于存儲計算機程序;

55、處理器,用于執(zhí)行所述計算機程序以實現(xiàn)如上述多維度數(shù)據(jù)的處理方法的步驟。

56、本發(fā)明實施例還提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述多維度數(shù)據(jù)的處理方法的步驟。

57、本發(fā)明實施例還提供了一種計算機程序產(chǎn)品,包括計算機程序/指令,該計算機程序/指令被處理器執(zhí)行時實現(xiàn)上述多維度數(shù)據(jù)的處理方法的步驟。

58、由上述技術(shù)方案可以看出,依據(jù)輸入的張量參數(shù)對模板進行實例化處理,以得到偏移量計算實例;其中,張量參數(shù)包括輸入數(shù)組和輸出數(shù)組各自對應(yīng)的形狀、步長、維度和數(shù)據(jù)。為了避免在每次操作時重復(fù)傳遞并復(fù)制相同的數(shù)據(jù),可以對偏移量計算實例進行初始化操作,以確定出每個輸入數(shù)組在每個輸出維度上的步長和形狀,并將每個輸入數(shù)組在每個輸出維度上的步長和形狀記錄在設(shè)定的存儲空間。啟動偏移量計算實例對存儲空間中記錄的每個輸入數(shù)組在每個輸出維度上的步長和形狀進行索引計算,以得到輸出數(shù)組對應(yīng)的偏移量。按照設(shè)定的運算規(guī)則對偏移量對應(yīng)的數(shù)據(jù)進行運算,以得到輸出結(jié)果。本發(fā)明的有益效果在于,通過預(yù)計算每個輸入數(shù)組在每個輸出維度上的步長和形狀,可以減少不必要的內(nèi)存訪問,提高了內(nèi)存訪問效率。并且通過構(gòu)建偏移量計算實例簡化了索引計算過程,極大地減輕了圖形處理器上的計算負(fù)擔(dān)。整個實現(xiàn)過程無需進行復(fù)雜的索引計算和動態(tài)內(nèi)存訪問,而是直接利用計算得到的偏移量快速定位數(shù)據(jù),高效、準(zhǔn)確的實現(xiàn)數(shù)據(jù)的存取和計算。并且這種直接訪問模式顯著提高了并行處理的效率,使得大規(guī)模數(shù)據(jù)處理任務(wù)能夠更快地完成。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
方城县| 益阳市| 乌拉特中旗| 崇阳县| 朔州市| 临城县| 微山县| 朔州市| 台中市| 正镶白旗| 苗栗市| 曲阳县| 普定县| 扶余县| 鄂伦春自治旗| 威信县| 大洼县| 达州市| 稷山县| 英山县| 凯里市| 汉沽区| 晋宁县| 九龙县| 五台县| 抚州市| 平和县| 濉溪县| 高碑店市| 札达县| 高雄县| 吴川市| 林甸县| 乐昌市| 东丽区| 定兴县| 武城县| 乌什县| 龙泉市| 城口县| 丰宁|