日韩中文字幕久久久97都市激情,久久91网,亚洲天堂最新,国产精品嫩草影院九色,亚洲午夜精品一本二本,精品少妇一区二区三区蜜桃,av一道本

一種算子的并行配置方法及設備與流程

文檔序號:42283874發布日期:2025-06-27 18:16閱讀:5來源:國知局

本發明實施例涉及人工智能領域,尤其涉及一種算子的并行配置方法及設備。


背景技術:

1、近年來,人工智能(artificial?intelligence,ai)應用在各個領域中都取得了良好的落地效果。ai應用運行時底層是通過調用大量算子提供基本計算的。考慮到不同ai應用運行時運行環境所能提供的硬件資源不同,因此,針對不同的硬件資源,業界開發人員研發了大量的算子庫,以充分發揮底層硬件資源的計算性能,使得上層應用能夠快速適配不同的硬件環境,并取得良好的性能評估效果。

2、隨著ai應用規模的擴大,模型結構的日益復雜,計算參數量的逐漸增多,模型訓練推理時所需要的硬件資源和時間也隨之急劇上升,通過并行運行方法,能夠優化ai應用的性能,增強算力,并減少資源消耗。因此,為了取得更好的并行效果,大量算子采用并行運行方法實現計算。目前,大多數算子都支持通過多線程實現并行運行。對于復雜的計算過程,通過多線程實現并行運行可以提高計算效率,但同時也會產生線程創建和上下文切換的開銷,因此,需要選擇合理的并行配置,用于算子實現并行運行,才能更好的發揮并行收益。現有技術采用的是全局統一的并行配置,配置的粒度粗,無法充分發揮底層算子的并行性能。


技術實現思路

1、本技術實施例提供了一種算子的并行配置方法及設備,解決了對算子進行全局統一的并行配置,導致配置的粒度粗,無法充分發揮底層算子的并行性能的問題。

2、為達到上述目的,本技術實施例提供如下技術方案:

3、第一方面,提供了一種算子的并行配置方法,該方法可以包括:

4、首先,獲取應用的狀態信息;狀態信息包括:應用的算子的信息,應用的數據量和應用的運行環境的硬件資源的數量;基于應用的狀態信息確定目標并行線程數配置;目標并行線程數配置包括應用中每個目標算子的線程數配置,目標算子為應用包括的算子中并行運行的算子;基于目標并行線程數配置為應用中的每個目標算子配置對應的線程數;其中,應用的目標算子基于對應配置的線程數在運行環境下運行時應用的性能滿足條件。

5、由上可知,通過對應用中的每個目標算子配置對應的線程數,即為算子中不同的并行運行的算子分別配置在運行環境下最合適的線程數,實現了對應用底層算子進行細粒度的并行線程數配置,不僅可以權衡每個算子的多線程開銷和性能收益,而且一定程度上可以有效利用并行處理資源,實現了并行收益最大化。

6、結合第一方面,一種可能的實現方式中,上述基于應用的狀態信息確定目標并行線程數配置的方法,具體包括:基于應用的狀態信息,利用強化學習模型確定所述目標并行線程數配置。如此,通過深度強化學習模型,智能的為不同算子預測不同運行環境中目標的并行線程數配置,不僅充分發揮并行性能和硬件算力,而且強化學習模型可以自動確定最佳的并行線程數配置,無需人工進行繁瑣的試驗和調整,降低了手動調優開銷。。

7、結合第一方面,一種可能的實現方式中,基于應用的狀態信息,利用強化學習模型確定目標并行線程數配置,具體包括:初始化強化學習模型的網絡參數;基于應用的狀態信息,對強化學習模型進行迭代訓練;在任一次迭代訓練過程中,將應用的狀態信息輸入上一次迭代訓練后得到的模型中,以獲得本次推薦的并行線程數配置,根據第一性能和第二性能確定激勵信號,基于激勵信號調整強化學習模型的網絡參數,完成本次迭代訓練過程;其中,第一性能是應用的目標算子基于本次推薦的并行線程數配置在運行環境下運行時應用的性能,第二性能是應用的目標算子基于上一次推薦的并行線程數配置在運行環境下運行時應用的性能;最后一次迭代訓練得到的模型推薦的并行線程數配置為目標并行線程數配置。通過迭代訓練,強化學習模型可以在每次迭代中學習和改進其策略。如此,強化學習模型可以更準確地確定目標并行線程數配置。

8、結合第一方面,一種可能的實現方式中,強化學習模型在滿足如下條件中的一個或多個的情況下,停止迭代:迭代次數大于第一閾值;或,激勵信號小于第二閾值。如此,可以避免過度擬合,節約計算資源。

9、結合第一方面,一種可能的實現方式中,上述基于目標并行線程數配置為應用中的每個目標算子配置對應的線程數,具體包括:基于目標并行線程數配置,設置應用中的每個目標算子的環境變量名稱對應的環境變量數值,不同目標算子對應的環境變量名稱不同。如此,為每個目標算子設置單獨的環境變量數值,可以針對不同的算子提供細粒度的線程數配置。

10、結合第一方面,一種可能的實現方式中,在基于目標并行線程數配置為應用中的每個目標算子配置對應的線程數之前,還包括:基于應用的算子的信息,為應用中每個目標算子生成對應的環境變量名稱;將應用中每個目標算子的源代碼中設置的全局環境變量名稱修改為目標算子對應的環境變量名稱。如此,為每個目標算子設置單獨的環境變量名稱,可以針對不同的算子提供細粒度的線程數配置。

11、結合第一方面,一種可能的實現方式中,在基于應用的狀態信息確定目標并行線程數配置之后,還包括:基于目標并行線程數配置,刷新應用的配置表中每個目標算子的線程數配置。上述基于目標并行線程數配置,設置應用中的每個目標算子的環境變量名稱對應的環境變量數值,具體包括:響應于配置表中的線程數配置的刷新,基于刷新后的配置表中每個目標算子的線程數配置,設置應用中的每個目標算子的環境變量名稱對應的環境變量數值。如此,為每個目標算子設置單獨的環境變量名稱和數值,可以針對不同的算子提供細粒度的線程數配置。

12、結合第一方面,一種可能的實現方式中,上述獲取應用的狀態信息,具體包括:獲取應用的入口文件,從入口文件中獲取數據量和硬件資源的數量;獲取應用的算子定義文件,從算子定義文件中獲取應用的算子的信息。

13、第二方面,提供了一種裝置,該裝置具有實現上述第一方面的所述方法中電子設備行為的功能。功能可以通過硬件實現,也可以通過硬件執行相應的軟件實現。硬件或軟件包括一個或多個與上述功能相對應的模塊,例如,通信單元或模塊,處理單元或模塊,存儲單元或模塊。

14、第三方面,提供了一種并行配置裝置,該并行配置裝置包括:處理器;存儲器;以及計算機程序,其中,計算機程序存儲在存儲器上,當計算機程序被處理器執行時,使得并行配置裝置執行如上述第一方面中任一項所述的方法。

15、第四方面,提供了一種計算機可讀存儲介質,計算機可讀存儲介質包括計算機程序,當計算機程序在電子設備上運行時,使得并行配置裝置可以執行上述第一方面中任一項所述的方法。

16、第五方面,提供了一種包含指令的計算機程序產品,當其在并行配置裝置上運行時,使得并行配置裝置可以執行上述第一方面中任一項所述的方法。

17、第六方面,本技術實施例提供了一種芯片,芯片包括處理器,處理器用于調用存儲器中的計算機程序,以執行如第一方面中任一項所述的方法。

18、可以理解地,上述提供的第二方面所述的裝置,第三方面所述的并行配置裝置,第四方面所述的計算機可讀存儲介質,第五方面所述的計算機程序產品,以及第六方面所述的芯片所能達到的有益效果,可參考第一方面及其任一種可能的實現方式中的有益效果,此處不再贅述。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1