System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開涉及計算機,特別涉及一種指令處理方法及裝置、電子設備、計算機可讀存儲介質。
技術介紹
1、隨著人工智能應用的普及,對神經網絡計算的需求日益增長,神經網絡計算變得越來越重要。然而,神經網絡所需的大量計算和存儲使得通用處理器難以有效執行這些任務。因此,人們開發了許多專門的神經網絡加速架構,其中眾核系統(包括眾核芯片或板卡等)是一條重要的技術路徑。在眾核系統中,執行神經網絡時通常將網絡的不同算子分布在不同的處理核上,這個過程稱為映射,而得到的方案則被稱為映射方案。處理核之間的數據傳輸通過眾核系統的片上網絡(或稱為路由系統)實現,而神經網絡內部通常存在大量的數據傳輸。因為神經網絡的多樣性,不同算子對于計算與通信的需求不一樣,可能會造成不同的性能瓶頸。
技術實現思路
1、本公開提供一種指令處理方法及裝置、電子設備、計算機可讀存儲介質。
2、第一方面,本公開提供了一種指令處理方法,該方法包括:
3、確定眾核系統中目標處理核待執行的算子執行序列,所述算子執行序列中包括多個算子指令,所述算子指令包括路由指令和計算指令,所述路由指令用于執行所述算子指令的數據傳輸操作,所述計算指令用于執行所述算子指令的計算操作;所述眾核系統包括多個處理核,所述目標處理核是所述多個處理核中的任意一個;
4、根據所述算子執行序列的第一算子指令中路由指令的第一通信時長和計算指令的第一計算時長,從所述算子執行序列中確定與所述第一算子指令交錯執行的第二算子指令;其中,所述第二算子指令中
5、根據所述第一通信時長、所述第一計算時長、所述第二通信時長及所述第二計算時長,對所述第一算子指令和所述第二算子指令進行切分,得到所述第一算子指令的多個第一執行段和所述第二算子指令的多個第二執行段;
6、將所述第一算子指令的多個第一執行段和所述第二算子指令的多個第二執行段映射到所述目標處理核,以使所述目標處理核交錯執行第一算子指令的多個第一執行段和所述第二算子指令的多個第二執行段。
7、第二方面,本公開提供了一種指令處理裝置,該裝置包括:
8、算子序列確定模塊,用于確定眾核系統中目標處理核待執行的算子執行序列,所述算子執行序列中包括多個算子指令,所述算子指令包括路由指令和計算指令,所述路由指令用于執行所述算子指令的數據傳輸操作,所述計算指令用于執行所述算子指令的計算操作;所述眾核系統包括多個處理核,所述目標處理核是所述多個處理核中的任意一個;
9、指令確定模塊,用于根據所述算子執行序列的第一算子指令中路由指令的第一通信時長和計算指令的第一計算時長,從所述算子執行序列中確定與所述第一算子指令交錯執行的第二算子指令;其中,所述第二算子指令中路由指令的第二通信時長和計算指令的第二計算時長之間的時長關系,與所述第一通信時長和所述第一計算時長之間的時長關系不同;
10、指令切分模塊,用于根據所述第一通信時長、所述第一計算時長、所述第二通信時長及所述第二計算時長,對所述第一算子指令和所述第二算子指令進行切分,得到所述第一算子指令的多個第一執行段和所述第二算子指令的多個第二執行段;
11、指令映射模塊,用于將所述第一算子指令的多個第一執行段和所述第二算子指令的多個第二執行段映射到所述目標處理核,以使所述目標處理核交錯執行第一算子指令的多個第一執行段和所述第二算子指令的多個第二執行段。
12、第三方面,本公開提供了一種電子設備,該電子設備包括:至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執行的一個或多個計算機程序,一個或多個所述計算機程序被所述至少一個處理器執行,以使所述至少一個處理器能夠執行上述的指令處理方法。
13、第四方面,本公開提供了一種計算機可讀存儲介質,其上存儲有計算機程序,其中,所述計算機程序在被處理器執行時實現上述的指令處理方法。
14、本公開所提供的實施例,能夠確定出處理核的算子執行序列中通信瓶頸和計算瓶頸的算子指令,將瓶頸互補的相應算子指令切分為多個執行段,并將算子指令的多個執行段映射到處理核,以使處理核交錯執行算子指令的執行段,從而提高處理核計算資源與通信資源的利用率,提高神經網絡執行的性能和效率。
15、應當理解,本部分所描述的內容并非旨在標識本公開的實施例的關鍵或重要特征,也不用于限制本公開的范圍。本公開的其它特征將通過以下的說明書而變得容易理解。
本文檔來自技高網...【技術保護點】
1.一種指令處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述算子執行序列的第一算子指令中路由指令的第一通信時長和計算指令的第一計算時長,從所述算子執行序列中確定與所述第一算子指令交錯執行的第二算子指令,包括:
3.根據權利要求1所述的方法,其特征在于,所述第一通信時長大于所述第一計算時長且所述第二通信時長小于所述第二計算時長,
4.根據權利要求3所述的方法,其特征在于,所述對所述第一算子指令的計算指令進行切分,得到多個第一計算執行段,包括:
5.根據權利要求1所述的方法,其特征在于,所述第一通信時長小于所述第一計算時長且所述第二通信時長大于所述第二計算時長,
6.根據權利要求2所述的方法,其特征在于,所述在所述第一通信時長大于所述第一計算時長的情況下,根據所述算子執行序列中通信時長小于計算時長,且與所述第一算子指令無數據依賴關系的算子指令,確定第二算子指令,包括:
7.根據權利要求1所述的方法,其特征在于,所述第一通信時長大于所述第一計算時長且所述第二通信時長小于所述第二計
8.根據權利要求1所述的方法,其特征在于,所述方法還包括:
9.根據權利要求1所述的方法,其特征在于,所述算子指令包括神經網絡算子的操作指令,所述神經網絡算子包括粗粒度操作,所述粗粒度操作用于表示完成一次處理需要的通信時長大于第一閾值和/或計算時長大于第二閾值的操作。
10.一種指令處理裝置,其特征在于,包括:
11.一種電子設備,其特征在于,包括:
12.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序在被處理器執行時實現如權利要求1-9中任一項所述的指令處理方法。
...【技術特征摘要】
1.一種指令處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述根據所述算子執行序列的第一算子指令中路由指令的第一通信時長和計算指令的第一計算時長,從所述算子執行序列中確定與所述第一算子指令交錯執行的第二算子指令,包括:
3.根據權利要求1所述的方法,其特征在于,所述第一通信時長大于所述第一計算時長且所述第二通信時長小于所述第二計算時長,
4.根據權利要求3所述的方法,其特征在于,所述對所述第一算子指令的計算指令進行切分,得到多個第一計算執行段,包括:
5.根據權利要求1所述的方法,其特征在于,所述第一通信時長小于所述第一計算時長且所述第二通信時長大于所述第二計算時長,
6.根據權利要求2所述的方法,其特征在于,所述在所述第一通信時長大于所述第一計算時長的情況下,根據所述算子執行序列中通信時長小于計算時長,且與所述第一算子指令無...
【專利技術屬性】
技術研發人員:張偉豪,沈楊書,
申請(專利權)人:北京靈汐科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。