System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本說明書涉及計算機,尤其涉及一種計算任務規劃方法、裝置、存儲介質及電子設備。
技術介紹
1、隨著人工智能技術的發展,神經網絡的應用越來越廣泛,神經網絡的計算需要大量的計算資源支持,傳統的單核處理器已不能滿足神經網絡的計算需求。為此,目前研制出了專門針對大規模神經網絡模型計算的眾核處理器,眾核處理器包含上百個,甚至更多核心,在硬件上能夠為神經網絡模型的計算提供豐富的計算資源,具有強大的并行處理能力。
2、為了充分發揮眾核處理器的硬件性能,在神經網絡的計算中,通常采用并行計算架構,對神經網絡的計算任務進行劃分,將神經網絡的計算任務規劃到多個計算核心并行處理,以加快神經網絡的計算效率。
3、但是,目前的并行計算架構在進行任務劃分時,只是將計算任務均分到每個計算核,由于神經網絡層需要計算的數據的規模通常較大,而計算核的存儲容量有限,劃分后每個計算核需要承擔的計算任務所需的數據,不能一次性傳輸到計算核,在數據傳輸過程中產生的通信代價也會限制神經網絡的計算效率。在現有技術中未針對單個計算核的多次數據傳輸進行計算任務的規劃,導致神經網絡的加速效果不佳。
4、因此,本說明書提供一種計算任務規劃方法。
技術實現思路
1、本說明書提供一種計算任務規劃方法、裝置、存儲介質及電子設備,以至少部分地解決現有技術存在的上述問題。
2、本說明書采用下述技術方案:
3、本說明書提供了一種計算任務規劃方法,包括:
4、獲取待計算的神經網絡層的計
5、根據參與所述神經網絡層計算的計算核的總數量,確定各計算核需承擔的計算任務對應的數據尺寸;
6、對所述計算核需承擔的計算任務對應的數據尺寸進行劃分,得到子任務數據的數據尺寸,使所述計算核的存儲容量與進行所述子任務數據對應計算任務所需的存儲空間之間的差值最小化;
7、將所述子任務數據的數據尺寸發送給控制核,以使所述控制核按照所述子任務數據的數據尺寸向所述計算核進行數據傳輸。
8、可選地,根據參與所述神經網絡層計算的計算核的總數量,確定各計算核需承擔的計算任務對應的數據尺寸,具體包括:
9、判斷所述計算數據包含的輸入特征圖數據的數據尺寸,是否大于所述計算數據包含的卷積核參數的數據尺寸;
10、若是,根據參與所述神經網絡層計算的計算核的總數量,沿所述輸入特征圖數據對應張量的批數量軸,將所述輸入特征圖數據的數據尺寸均勻劃分,得到所述輸入特征圖數據包含的若干個子特征圖數據的數據尺寸,根據所述子特征圖數據的數據尺寸和所述卷積核參數的數據尺寸,確定所述計算核需承擔的計算任務對應的數據尺寸;
11、若否,根據參與所述神經網絡層計算的計算核的總數量,沿所述卷積核參數對應張量的批數量軸,將所述卷積核參數的數據尺寸均勻劃分,得到所述卷積核參數包含的若干個子卷積核參數的數據尺寸,根據所述輸入特征圖數據的數據尺寸和所述子卷積核參數的數據尺寸,確定所述計算核需承擔的計算任務對應的數據尺寸。
12、可選地,對所述任務數據的數據尺寸進行劃分,得到子任務數據的數據尺寸,使所述計算核的存儲容量與進行所述子任務數據對應計算任務所需的存儲空間之間的差值最小化,具體包括:
13、將所述計算核需承擔的計算任務對應的數據尺寸,作為待劃分數據的數據尺寸,對所述待劃分數據的數據尺寸對半劃分,得到所述待劃分數據包含的若干個劃分結果數據的數據尺寸;
14、根據所述神經網絡層需要的計算精度和所述劃分結果數據的數據尺寸,確定進行所述劃分結果數據對應計算任務所需的存儲空間;
15、判斷所述存儲空間是否大于所述計算核的存儲容量;
16、若是,將所述劃分結果數據作為待劃分數據,繼續對半劃分過程;
17、若否,停止對半劃分過程,根據所述劃分結果數據的數據尺寸,確定所述任務數據包含的若干個子任務數據的數據尺寸。
18、可選地,將所述計算核需承擔的計算任務對應的數據尺寸,作為待劃分數據的數據尺寸,對所述待劃分數據的數據尺寸對半劃分,得到所述待劃分數據包含的若干個劃分結果數據的數據尺寸,具體包括:
19、在所述計算數據包含的輸入特征圖數據的各張量軸和所述計算數據包含的卷積核參數的各張量軸中,確定可劃分的張量軸,作為待劃分軸;
20、將所述待劃分軸的軸長減半,確定所述待劃分數據包含的若干個劃分結果數據的數據尺寸。
21、可選地,根據所述神經網絡層需要的計算精度和所述劃分結果數據的數據尺寸,確定進行所述劃分結果數據對應的計算任務所需的存儲空間,具體包括:
22、根據所述劃分結果數據的數據尺寸,推理進行所述劃分結果數據對應的計算任務,得到的輸出特征圖數據的數據尺寸;
23、根據所述劃分結果數據的數據尺寸和所述輸出特征圖數據的數據尺寸,確定進行所述劃分結果數據對應計算任務需要存儲的總數據尺寸;
24、根據所述神經網絡層需要的計算精度,確定存儲位寬;
25、根據所述總數據尺寸和所述存儲位寬的乘積,確定進行所述劃分結果數據對應計算任務所需的存儲空間。
26、可選地,根據所述劃分結果數據的數據尺寸,確定所述任務數據包含的若干個子任務數據的數據尺寸,具體包括:
27、根據所述劃分結果數據的數據尺寸,推理進行所述劃分結果數據對應計算任務得到的輸出特征圖數據的數據尺寸;
28、根據所述劃分結果數據的數據尺寸、所述輸出特征圖數據的數據尺寸和參與所述神經網絡層計算的計算核的總數量,確定所述劃分結果數據對應計算任務所需的計算時間;
29、判斷所述計算時間是否小于所述計算核的通信周期;
30、若是,沿指定張量軸,按指定軸長逐步增加所述劃分結果數據的數據尺寸,直至增加后進行所述劃分結果數據對應計算任務所需的存儲空間大于所述存儲容量,將最后一步的上一步增加后得到的劃分結果數據的數據尺寸,作為子任務數據的數據尺寸;
31、若否,將所述劃分結果數據的數據尺寸,作為子任務數據的數據尺寸。
32、可選地,所述方法還包括:
33、在所述計算數據包含的輸入特征圖數據的各張量軸和所述計算數據包含的卷積核參數的各張量軸中,確定至少一個可增加維度的張量軸,作為所述指定張量軸。
34、本說明書提供了一種計算任務規劃裝置,所述裝置包括:
35、獲取模塊,獲取待計算的神經網絡層的計算數據的數據尺寸;
36、核間劃分模塊,根據參與所述神經網絡層計算的計算核的總數量,確定各計算核需承擔的計算任務對應的數據尺寸;
37、核內劃分模塊,對所述計算核需承擔的計算任務對應的數據尺寸進行劃分,得到子任務數據的數據尺寸,使所述計算核的存儲容量與進行所述子任務數據對應計算任務所需的存儲空間之間的差值最小化;
38、應用模塊,將所述子任務數據的數據尺寸發送本文檔來自技高網...
【技術保護點】
1.一種計算任務規劃方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,根據參與所述神經網絡層計算的計算核的總數量,確定各計算核需承擔的計算任務對應的數據尺寸,具體包括:
3.如權利要求1所述的方法,其特征在于,對所述任務數據的數據尺寸進行劃分,得到子任務數據的數據尺寸,使所述計算核的存儲容量與進行所述子任務數據對應計算任務所需的存儲空間之間的差值最小化,具體包括:
4.如權利要求3所述的方法,其特征在于,將所述計算核需承擔的計算任務對應的數據尺寸,作為待劃分數據的數據尺寸,對所述待劃分數據的數據尺寸對半劃分,得到所述待劃分數據包含的若干個劃分結果數據的數據尺寸,具體包括:
5.如權利要求3所述的方法,其特征在于,根據所述神經網絡層需要的計算精度和所述劃分結果數據的數據尺寸,確定進行所述劃分結果數據對應的計算任務所需的存儲空間,具體包括:
6.如權利要求3所述的方法,其特征在于,根據所述劃分結果數據的數據尺寸,確定所述任務數據包含的若干個子任務數據的數據尺寸,具體包括:
7.如權利要求6所述的方
8.一種計算任務規劃裝置,其特征在于,包括:
9.一種計算機可讀存儲介質,其特征在于,所述存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現上述權利要求1~7任一項所述的方法。
10.一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現上述權利要求1~7任一項所述的方法。
...【技術特征摘要】
1.一種計算任務規劃方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,根據參與所述神經網絡層計算的計算核的總數量,確定各計算核需承擔的計算任務對應的數據尺寸,具體包括:
3.如權利要求1所述的方法,其特征在于,對所述任務數據的數據尺寸進行劃分,得到子任務數據的數據尺寸,使所述計算核的存儲容量與進行所述子任務數據對應計算任務所需的存儲空間之間的差值最小化,具體包括:
4.如權利要求3所述的方法,其特征在于,將所述計算核需承擔的計算任務對應的數據尺寸,作為待劃分數據的數據尺寸,對所述待劃分數據的數據尺寸對半劃分,得到所述待劃分數據包含的若干個劃分結果數據的數據尺寸,具體包括:
5.如權利要求3所述的方法,其特征在于,根據所述神經網絡層需要...
【專利技術屬性】
技術研發人員:張吳越,陳敏珍,尤春波,江宇薇,顧宬,王芬,周超,
申請(專利權)人:之江實驗室,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。