[發明專利]Warp級別調度的任務調度方法、系統、GPU及設備有效
| 申請號: | 202011506442.5 | 申請日: | 2020-12-18 |
| 公開(公告)號: | CN113407333B | 公開(公告)日: | 2023-05-26 |
| 發明(設計)人: | 陳全;過敏意;趙涵;崔煒皞 | 申請(專利權)人: | 上海交通大學 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/48 |
| 代理公司: | 上海光華專利事務所(普通合伙) 31219 | 代理人: | 龐紅芳 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | warp 級別 調度 任務 方法 系統 gpu 設備 | ||
本發明提供一種Warp級別調度的任務調度方法、系統、GPU及設備,所述Warp級別調度的任務調度方法包括:在任務為首次任務時,離線分析用戶提交任務的硬件信息及配置信息;基于所述任務的硬件信息和配置信息,獲取與主流任務并行時的最大并行度;在任務為非首次任務時,基于任務的硬件信息和已收集的最大并行度決策,進行在線的任務對打包決策,將選取的任務對打包成一個新任務,并將新任務提交到GPU上,以使得任務對中的原有兩個GPU任務實現warp級別的任務調度。本發明在無需用戶感知提前下,實現高吞吐的Warp級別調度的任務調度,可以間接為潛在的配置多種計算單元的GPU提供調度技術的支持。
技術領域
本發明涉及處理器技術領域,特別是涉及GPU設計控制技術領域。
背景技術
通用GPU的快速發展導致了其在云計算與數據中心的大量采用。一方面,傳統科學比如數學,神經科學等學科采用GPU進行相應的科學計算。另一方面,計算機領域的多個方向都開始采用GPU加速相關計算任務。舉例來說,機器學習和深度學習依賴GPU進行訓練和服務,而數據流任務則依賴GPU加速數據處理。因此,為了支持越來越多樣的GPU任務,大量的企業和學術機構開始構建基于GPU的私有云。
當應用逐漸多樣化的同時,GPU架構也在不斷發展。最初GPU的流多處理器SM只包含一類計算單元CUDA?core,CUDA?core進一步細分為INT32,FP32和FP64。隨著深度學習的快速發展和大量應用,NVIDIA提出了專用的計算單元Tensor?core。因為深度學習中最常用的計算是矩陣乘,所以Tensor?core的唯一功能就是矩陣乘計算。容易看出,傳統任務和數據流處理任務主要使用CUDA?core,深度學習任務主要使用Tensor?core。與此同時,CUDAcore和Tensor?core是完全獨立的兩種計算硬件,這也意味著他們兩個能夠同時計算。所以,這里存在著以同時利用兩種計算硬件的方式,提升GPU利用率的可能性,進而可以提高GPU整體的吞吐率。
現有GPU的調度依賴于GPU任務的提交配置。一個GPU任務內有一個或多個kernel函數。當GPU任務被提交到GPU上時,任務內的kernel函數順序得到執行。當一個kernel函數被提交時,該kernel函數會以指定的配置啟動指定數量的線程塊Thread?block。每個thread?block內有指定的線程數。當一個thread?block被提交到SM上時,每32個線程作為一個warp,同時在GPU上執行,當一個warp因為訪存停止時,另一個warp被調度上GPU進行計算。本質上來說,GPU上的任務調度粒度是warp級別的。
而對于現有調度系統而言,這些系統都依賴于NVIDIA官方的提供的MPS進行調度。MPS支持GPU任務申請特定比例的SM資源,而任務只能使用這么多SM資源。當一個任務沒有使用完當前SM上的計算資源時,另一個任務才能調度到SM上。這意味著,MPS的調度粒度是SM級別的,更準確的來說是任務級別的或者kernel級別的。所以kernel級別的調度粒度無法直接利用到兩種計算單元。這意味著,并行使用兩種硬件的第一個難題是粗粒度的任務調度。
除了調度粒度的問題之外,并行使用兩種硬件的第二個難題是內存系統的競爭。由于兩個任務共享一個GPU內存系統,內存競爭非常容易出現。現有的工具和之前的工作都沒有管理內存系統的競爭。盡管兩個計算硬件是理論上可并行的,當一個任務有對內存系統有特別高的要求時,兩種計算單元仍然不能被并行使用。當任務大量到來時,如何決定哪些任務可以混跑是第三個難題。
NVIDIA?MPS是NVIDIA官方提供的一種多任務并行的接口。MPS支持任務申請指定比例的SM資源,而任務只能使用這些SM資源。當一個任務沒有使用完當前SM上的計算資源時,另一個任務才能調度到SM上。
當一個任務沒有使用完當前SM上的計算資源時,另一個任務才能調度到SM上。這意味著,MPS的調度粒度是SM級別的,更準確的來說是任務級別的或者kernel級別的,所以Kernel級別的調度粒度無法直接利用到兩種計算單元。這意味著,NVIDIA?MPS的第一個缺點是粗粒度的任務調度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海交通大學,未經上海交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011506442.5/2.html,轉載請聲明來源鉆瓜專利網。





