[發明專利]用于解決線程發散的方法和系統有效
| 申請號: | 201310012208.0 | 申請日: | 2013-01-11 |
| 公開(公告)號: | CN103207774A | 公開(公告)日: | 2013-07-17 |
| 發明(設計)人: | 杰克·肖凱特;仇小鋼;杰夫·塔基;瀟耀明;羅伯特·J·斯托爾;奧利維爾·吉普 | 申請(專利權)人: | 輝達公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F9/30;G06F12/02 |
| 代理公司: | 北京市磐華律師事務所 11336 | 代理人: | 董巍;徐丁峰 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 解決 線程 發散 方法 系統 | ||
1.一種用于解決在并行處理單元上執行的線程組中的線程之間的發散的計算機實現的方法,所述方法包括:
獲取與所述線程相關聯的指令;
將所述線程分為非發散線程子集和至少一個發散線程子集;以及
導致發出所述非發散線程子集用于在所述并行處理單元上執行。
2.根據權利要求1所述的計算機實現的方法,其中將所述線程分為所述非發散線程子集和所述至少一個發散線程子集包括:
發出所述線程到耦合至配置為執行線程的一個或多個功能單元的寄存器堆;
分析所述寄存器堆以確定所述線程配置為訪問多于一個存儲器位置;
識別一個或多個所述線程配置為訪問的第一存儲器位置;
將所述一個或多個線程組織到所述非發散線程子集;以及
將其他線程組織到所述至少一個發散線程子集。
3.根據權利要求2所述的計算機實現的方法,其中所述第一存儲器位置包括所述寄存器堆中的條目。
4.根據權利要求1所述的計算機實現的方法,進一步包括:
將所述非發散線程子集存儲到多發出隊列中;以及
當所述并行處理單元可用時,從所述多發出隊列中檢索所述非發散線程子集。
5.根據權利要求1所述的計算機實現的方法,其中所述線程分為一個發散線程子集,并且進一步包括:
導致重新獲取與所述一個發散線程子集相關聯的指令;
將所述一個發散線程子集中的所述線程分為非發散線程亞子集和發散線程亞子集;以及
導致發出所述非發散線程亞子集用于在所述并行處理單元上執行。
6.根據權利要求1所述的計算機實現的方法,對于所述線程組中的每個線程,進一步包括,更新與所述線程組相關聯的線程掩碼以反映所述線程屬于所述非發散線程子集還是所述至少一個發散線程子集。
7.根據權利要求1所述的計算機實現的方法,其中將所述線程分為至少一個發散線程子集包括,將所述線程分為H個非發散線程子集,H是大于1的整數,并且導致發出所述H個非發散線程子集的每一個用于在所述并行處理單元上單獨執行。
8.根據權利要求7所述的計算機實現的方法,進一步包括,導致在已經發出所述發散線程子集之后發出所述H個非發散線程子集的每一個用于在所述PPU上單獨執行。
9.根據權利要求1所述的計算機實現的方法,其中所述非發散線程子集包括訪問計算設備內的公共資源或資源的公共方面或部分的一個或多個線程。
10.一種配置為解決在并行處理單元上執行的線程組中的線程之間的發散的計算設備,包括:
處理單元,配置為:
獲取與所述線程相關聯的指令;
將所述線程分為非發散線程子集和至少一個發散線程子集;以及
導致發出所述非發散線程子集用于在所述并行處理單元上執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于輝達公司,未經輝達公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310012208.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:多功能麥克風組裝體
- 下一篇:探針針壓校正方法及其校正設備





