[發明專利]基于工作隊列的圖形處理單元工作創建無效
| 申請號: | 201310518042.X | 申請日: | 2013-10-28 |
| 公開(公告)號: | CN103793206A | 公開(公告)日: | 2014-05-14 |
| 發明(設計)人: | 依格納西奧·利亞馬斯;克雷格·羅斯·杜特韋勒;杰弗里·A·博爾茲;丹尼爾·埃利奧特·韋克斯勒 | 申請(專利權)人: | 輝達公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F9/445 |
| 代理公司: | 北京市磐華律師事務所 11336 | 代理人: | 謝栒;董巍 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 工作 隊列 圖形 處理 單元 創建 | ||
1.一種用于配置工作隊列以使能在并行處理子系統中執行的線程在所述并行處理子系統內生成并執行工作的方法,所述方法包括:
生成所述工作隊列,其中所述工作隊列包括多個條目并且與第一指針和第二指針相關聯,所述第一指針和所述第二指針中的每一個對所述線程是不可訪問的;
建立所述工作隊列中的自由條目的范圍,通過:
將所述第一指針指向所述多個條目的第一條目;以及
將所述第二指針指向所述多個條目的最后條目;
生成指向所述多個條目的所述第一條目的第三指針,其中所述第三指針對所述線程是可訪問的;
生成指向所述多個條目的所述最后條目的第四指針,其中所述第四指針對所述線程是可訪問的;
將所述工作隊列的所述第一條目指向包含指向被阻塞的信號量的信號量獲得命令的命令塊;
經由所述第三和第四指針將工作加載到所述工作隊列中;
確定所述線程已經完成加載工作;以及
釋放所述信號量以使所述第一指針前進到所述工作隊列中的下一個條目并且使所述并行處理子系統執行由所述線程所生成的工作。
2.如權利要求1所述的方法,其中所述第一指針和所述第二指針二者都包括基于快速外圍部件互連(PCI-E)的指針。
3.如權利要求1所述的方法,其中所述第三指針和所述第四指針二者都存儲在對所述線程可訪問的、包括在所述并行處理子系統中的存儲器的區域。
4.如權利要求1所述的方法,其中釋放所述第一信號量包括將值寫入所述第一信號量所針對的存儲器的區域。
5.如權利要求1所述的方法,其中所述工作隊列響應于檢測到所述線程正在引用一個或多個應用編程接口(API)函數而生成,所述一個或多個應用編程接口(API)函數針對在所述并行處理子系統內生成并執行工作。
6.如權利要求1所述的方法,其中所述工作隊列中的每個條目配置為指向命令塊。
7.如權利要求1所述的方法,其中每個命令塊配置為存儲由所述并行處理子系統可執行的指令或命令。
8.一種并行處理子系統,包括使能在所述并行處理子系統中執行的線程在所述并行處理子系統內生成并執行工作的工作隊列,所述系統包括:
所述并行處理子系統;以及
驅動程序,與所述并行處理子系統相配合,其中所述驅動程序配置為:
生成所述工作隊列,其中所述工作隊列包括多個條目并且與第一指針和第二指針相關聯,其中所述第一指針和所述第二指針中的每一個對所述線程是不可訪問的;
建立所述工作隊列中的自由條目的范圍,通過:
將所述第一指針指向所述多個條目的第一條目;以及
將所述第二指針指向所述多個條目的最后條目;
生成指向所述多個條目的所述第一條目的第三指針,其中第三指針對所述線程是可訪問的;
生成指向所述多個條目的所述最后條目的第四指針,其中所述第四指針對所述線程是可訪問的;
將所述工作隊列的所述第一條目指向包含指向被阻塞的信號量的信號量獲得命令的命令塊;
經由所述第三和第四指針將工作加載到所述工作隊列中;
確定所述線程已經完成將工作加載到所述工作隊列中;以及
釋放所述信號量以使所述第一指針前進到所述工作隊列中的下一個條目并且使所述并行處理子系統執行由所述線程所生成的工作。
9.如權利要求8所述的并行處理子系統,其中所述工作隊列響應于檢測到所述線程正在引用一個或多個應用編程接口(API)函數而生成,所述一個或多個應用編程接口(API)函數針對在所述并行處理子系統內生成并執行工作。
10.如權利要求8所述的并行處理子系統,其中所述工作隊列中的每個條目配置為指向命令塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于輝達公司,未經輝達公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310518042.X/1.html,轉載請聲明來源鉆瓜專利網。





