本發(fā)明涉及ai芯片,尤其涉及一種任務調度方法、裝置、設備及介質。
背景技術:
1、隨著互聯(lián)網(wǎng)時代的快速發(fā)展,ai(artificial?intelligence,人工智能)領域對高速處理大模型計算,以及復雜模型推導的需求越來越大,由此產生出了高性能ai計算芯片。這類芯片往往采用眾核架構,不同的核心處理不同的事務,能夠顯著提高計算效率?。
2、目前,主要是通過軟件調度的方式實現(xiàn)芯片的任務調度,即用一個核心進行任務檢測和管理,該核心負責任務分配、狀態(tài)查詢和算法等,需要不斷查詢執(zhí)行單元的完成狀態(tài),在任務執(zhí)行期間不能處理其他事務,另外再由核心來檢測和派發(fā)任務,會出現(xiàn)任務時間延時較大的問題。此外,還有些調度技術是基于執(zhí)行單元的資源與線程情況,或每個執(zhí)行單元的執(zhí)行時間去計算一個任務提交到哪個執(zhí)行單元,并最終由核心進行任務派發(fā),軟件操作復雜程度較高。
技術實現(xiàn)思路
1、本發(fā)明提供了一種任務調度方法、裝置、設備及介質,以解決軟件實現(xiàn)ai芯片內任務調度存在的任務之間時延較大,以及操作復雜度高的問題。
2、根據(jù)本發(fā)明的一方面,提供了一種任務調度方法,由tdu執(zhí)行,包括:
3、基于主核門鈴觸發(fā)行為,獲取目標任務描述符;
4、在確定目標任務描述符滿足描述符發(fā)送條件時,根據(jù)目標任務描述符,生成任務下發(fā)請求;
5、基于目標仲裁器仲裁任務下發(fā)請求,得到請求仲裁結果,并根據(jù)請求仲裁結果,進行任務派發(fā);
6、根據(jù)請求仲裁結果,進行任務派發(fā),包括:
7、在請求仲裁結果為支持任務派發(fā),且根據(jù)任務下發(fā)請求,確定存在目標芯片號,和/或目標核心號時,基于目標芯片號,和/或目標核心號,向目標被調度單元派發(fā)任務;
8、在請求仲裁結果為不支持任務派發(fā)時,確定并保存仲裁未下發(fā)任務;屏蔽目標被調度單元的后續(xù)調度請求,并屏蔽目標仲裁器,以等待目標被調度單元狀態(tài)均變更為空閑時,再進行任務派發(fā)。
9、可選的,在基于目標仲裁器仲裁任務下發(fā)請求,得到請求仲裁結果之前,還包括:
10、獲取被調度單元狀態(tài)數(shù)據(jù);
11、在基于被調度單元狀態(tài)數(shù)據(jù),確定存在至少一個目標被調度單元空閑時,向目標仲裁器發(fā)送任務下發(fā)請求。
12、可選的,基于目標仲裁器仲裁任務下發(fā)請求,得到請求仲裁結果,包括:
13、在目標被調度單元狀態(tài)為空閑時,得到請求仲裁結果為目標被調度單元支持任務派發(fā);
14、在任務下發(fā)請求的下發(fā)粒度非單一粒度,且目標被調度單元狀態(tài)并非全部空閑時,得到請求仲裁結果為目標被調度單元不支持任務派發(fā)。
15、可選的,等待目標被調度單元狀態(tài)均變更為空閑時,再進行任務派發(fā),包括:
16、按照下發(fā)粒度由小粒度到大粒度的順序,確定仲裁未下發(fā)任務的派發(fā)順序;
17、在當前仲裁未下發(fā)目標任務對應的目標被調度單元狀態(tài)均變更為空閑時,向與當前仲裁未下發(fā)目標任務對應的目標被調度單元,進行任務派發(fā)。
18、可選的,根據(jù)請求仲裁結果,進行任務派發(fā),還包括:
19、在根據(jù)任務下發(fā)請求,確定未指定目標芯片號和目標核心號時,基于被調度單元狀態(tài)數(shù)據(jù),識別當前空閑被調度單元;
20、從當前空閑被調度單元中選擇出目標被調度單元,以向目標被調度單元派發(fā)任務;
21、其中,目標被調度單元包括:通信核心,和/或計算核組。
22、可選的,在確定目標任務描述符滿足描述符發(fā)送條件時,根據(jù)目標任務描述符,生成任務下發(fā)請求,包括:
23、在目標任務描述符為跨芯片類型描述符時,將目標任務描述符,發(fā)送至從芯片任務調度單元,以在從芯片任務調度單元進行任務派發(fā);
24、獲取從芯片任務調度單元的任務完成寫回數(shù)據(jù),并將任務完成寫回數(shù)據(jù)寫入主存。
25、根據(jù)本發(fā)明的另一方面,提供了一種任務調度裝置,配置于tdu,包括:
26、描述符獲取模塊,用于基于主核門鈴觸發(fā)行為,獲取目標任務描述符;
27、任務下發(fā)請求生成模塊,用于在確定目標任務描述符滿足描述符發(fā)送條件時,根據(jù)目標任務描述符,生成任務下發(fā)請求;
28、任務下發(fā)模塊,用于基于目標仲裁器仲裁任務下發(fā)請求,得到請求仲裁結果,并根據(jù)請求仲裁結果,進行任務派發(fā);
29、任務下發(fā)模塊,具體用于在請求仲裁結果為支持任務派發(fā),且根據(jù)任務下發(fā)請求,確定存在目標芯片號,和/或目標核心號時,基于目標芯片號,和/或目標核心號,向目標被調度單元派發(fā)任務;在請求仲裁結果為不支持任務派發(fā)時,確定并保存仲裁未下發(fā)任務;屏蔽目標被調度單元的后續(xù)調度請求,并屏蔽目標仲裁器,以等待目標被調度單元狀態(tài)均變更為空閑時,再進行任務派發(fā)。
30、根據(jù)本發(fā)明的另一方面,提供了一種電子設備,所述電子設備包括:
31、至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的計算機程序,所述計算機程序被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行本發(fā)明任一實施例所述的任務調度方法。
32、根據(jù)本發(fā)明的另一方面,提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質存儲有計算機指令,所述計算機指令用于使處理器執(zhí)行時實現(xiàn)本發(fā)明任一實施例所述的任務調度方法。
33、本發(fā)明實施例的技術方案,通過基于主核門鈴觸發(fā)行為,獲取目標任務描述符,從而在確定目標任務描述符滿足描述符發(fā)送條件時,根據(jù)目標任務描述符,生成任務下發(fā)請求,進而基于目標仲裁器仲裁任務下發(fā)請求,得到請求仲裁結果,并根據(jù)請求仲裁結果,進行任務派發(fā)。在本方案中,通過硬件方式實現(xiàn)任務調度,解放芯片核心,并且在芯片集成有多個子芯片時,將主核與從核的一致性問題簡化到主核與tdu之間。由tdu來做調度,任務之間的延時可以顯著的縮小,核心不需要直接負責派發(fā)任務,只需在配置tdu后,根據(jù)反饋的任務狀態(tài)進行任務調整及異常處理,可降低軟件操作的復雜程度,解決了軟件實現(xiàn)芯片內任務調度存在的任務之間時延較大,以及操作復雜度高的問題,能夠不利用核心直接派發(fā)任務,降低任務之間延時的同時,也降低了任務調度的操作復雜性。
34、應當理解,本部分所描述的內容并非旨在標識本發(fā)明的實施例的關鍵或重要特征,也不用于限制本發(fā)明的范圍。本發(fā)明的其它特征將通過以下的說明書而變得容易理解。
1.一種任務調度方法,其特征在于,由tdu執(zhí)行,包括:
2.根據(jù)權利要求1所述的方法,其特征在于,在基于目標仲裁器仲裁所述任務下發(fā)請求,得到請求仲裁結果之前,還包括:
3.根據(jù)權利要求2所述的方法,其特征在于,基于目標仲裁器仲裁所述任務下發(fā)請求,得到請求仲裁結果,包括:
4.根據(jù)權利要求1所述的方法,其特征在于,等待所述目標被調度單元狀態(tài)均變更為空閑時,再進行任務派發(fā),包括:
5.根據(jù)權利要求2所述的方法,其特征在于,根據(jù)所述請求仲裁結果,進行任務派發(fā),還包括:
6.根據(jù)權利要求1所述的方法,其特征在于,在確定所述目標任務描述符滿足描述符發(fā)送條件時,根據(jù)所述目標任務描述符,生成任務下發(fā)請求,包括:
7.一種任務調度裝置,其特征在于,配置于tdu,包括:
8.一種電子設備,其特征在于,所述電子設備包括:
9.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機指令,所述計算機指令用于使處理器執(zhí)行時實現(xiàn)權利要求1-6中任一項所述的任務調度方法。