[發明專利]用于全面同步執行線程的技術有效
| 申請號: | 201810380065.1 | 申請日: | 2018-04-25 |
| 公開(公告)號: | CN108830777B | 公開(公告)日: | 2022-08-23 |
| 發明(設計)人: | 阿杰伊·蘇達尚·蒂魯馬拉;奧利維爾·吉普;彼得·尼爾森;杰克·肖凱特 | 申請(專利權)人: | 輝達公司 |
| 主分類號: | G06T1/20 | 分類號: | G06T1/20;G06F9/52 |
| 代理公司: | 北京市磐華律師事務所 11336 | 代理人: | 高偉;婁曉丹 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 全面 同步 執行 線程 技術 | ||
1.一種計算機實現的方法,用于同步多個線程,所述方法包括:
確定包括在線程組中的第一線程已經到達同步指令;
響應于所述第一線程到達所述同步指令,確定包含在所述線程組中的要被同步的多個線程,其中所述多個線程由所述第一線程指定,并且包含至少所述第一線程和第二線程;
確定包括在所述多個線程中的所述第二線程還沒有到達所述同步指令;
將所述第一線程配置為停止執行指令;
針對所述第二線程發出至少一個額外的指令;
確定包括在所述多個線程中的所有線程已經到達所述同步指令;以及
使得包括在所述多個線程中的所有線程執行第一后續指令。
2.如權利要求1所述的計算機實現的方法,其中所述同步指令和所述第一后續指令包括指令對。
3.如權利要求1所述的計算機實現的方法,其中所述第一后續指令包括隨機指令或投票指令,所述隨機指令使能所述多個線程之間的直接寄存器到寄存器數據交換,所述投票指令基于從所述多個線程接收的數據生成單個投票結果。
4.如權利要求1所述的計算機實現的方法,其中所述第一后續指令包括線程間組屏障指令,其包括所述多個線程和至少一個其他多個線程。
5.如權利要求1所述的計算機實現的方法,其中將所述第一線程配置為停止執行指令包括:將與所述第一線程相關聯的調度狀態設置為使得指令不被發出至所述第一線程的值,以及去激活所述第一線程。
6.如權利要求1所述的計算機實現的方法,進一步包括:在確定所述第二線程還沒有到達所述同步指令之前,將與所述第一線程相關聯的第一恢復程序計數器設置為指定所述同步指令。
7.如權利要求1所述的計算機實現的方法,進一步包括:在確定包括在所述多個線程中的所有線程已經到達所述同步指令之前:
基于與所述第一線程相關聯的第一恢復程序計數器,將線程組程序計數器設置為指定所述同步指令;以及
對于包括在所述多個線程中的每個線程,確定與所述線程相關聯的恢復程序計數器等于所述同步指令,以及使得所述線程基于所述線程組程序計數器執行指令。
8.如權利要求7所述的計算機實現的方法,其中使得所述線程基于所述線程組程序計數器執行指令包括:將與所述線程相關聯的調度狀態設置為使指令被發出至所述線程的值。
9.如權利要求1所述的計算機實現的方法,其中確定包括在所述多個線程中的所有線程已經到達所述同步指令包括:對包括在所述多個線程中的每個線程,確定所述線程不再能夠執行任何指令或者已經開始執行所述同步指令。
10.如權利要求1所述的計算機實現的方法,其中使得包括在所述多個線程中的所有線程執行所述第一后續指令包括:將線程組程序計數器設置為指定所述第一后續指令。
11.一種系統,被配置為同步多個線程,所述系統包括:
指令高速緩存,存儲多個指令;
指令調度程序,耦合到所述指令高速緩存;以及
聚合屏障單元,耦合到所述指令高速緩存,其中所述聚合屏障單元:
確定包括在線程組中的第一線程已經到達包括在所述多個指令中的同步指令;
響應于所述第一線程到達所述同步指令,確定包含在所述線程組中的要被同步的多個線程,其中所述多個線程由所述第一線程指定,并且包含至少所述第一線程和第二線程;
確定包括在所述多個線程中的所述第二線程還沒有到達所述同步指令;
將所述第一線程配置為停止執行指令;
針對所述第二線程發出至少一個額外的指令;
確定包括在所述多個線程中的所有線程已經到達所述同步指令;以及
使得包括在所述多個線程中的所有線程執行包括在所述多個指令中的第一后續指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于輝達公司,未經輝達公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810380065.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:面向3D打印模型的三維可見實體水印版權防偽標識方法
- 下一篇:圖形處理芯片





