[發明專利]用于在并行處理單元中有效執行數據規約的技術在審
| 申請號: | 202010181185.6 | 申請日: | 2020-03-16 |
| 公開(公告)號: | CN112241290A | 公開(公告)日: | 2021-01-19 |
| 發明(設計)人: | 彼得·尼爾森;奧利維爾·吉魯;A·S·蒂魯馬拉 | 申請(專利權)人: | 輝達公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38;G06F9/48;G06F9/50 |
| 代理公司: | 北京市磐華律師事務所 11336 | 代理人: | 高偉 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 并行 處理 單元 有效 執行 數據 規約 技術 | ||
1.一種計算機實現的方法,所述方法包括:
響應于與在多線程處理器中執行的多個線程相關聯的單個指令,訪問存儲在多個源寄存器中的多個寄存器值,其中所述多個源寄存器中的每個源寄存器與所述多個線程中包括的不同線程相關聯;
對所述多個寄存器值執行一個或更多個運算,以生成合計值;以及
將所述合計值存儲在第一目的地寄存器中,所述第一目的地寄存器能夠被所述多個線程中包括的至少一個線程訪問。
2.如權利要求1所述的方法,其中所述第一目的地寄存器包括統一寄存器,所述統一寄存器能夠被所述多個線程中包括的每個線程訪問。
3.如權利要求1所述的方法,其中所述第一目的地寄存器與所述多個線程中包括的第一線程相關聯,所述方法還包括:將所述合計值存儲在與所述多個線程中包括的第二線程相關聯的第二目的地寄存器中。
4.如權利要求1所述的方法,其中所述多個線程包括在同時執行同一程序的線程組中,所述方法還包括:確定基于與所述單個指令相關聯的保護謂詞將所述單個指令應用于所述多個線程。
5.如權利要求1所述的方法,其中對所述多個寄存器值執行一個或更多個運算包括:將所述單個指令中指定的規約運算應用于所述多個寄存器值。
6.如權利要求5所述的方法,其中所述規約運算包括按位與運算、按位或運算、按位異或運算、算術最小運算、算術最大運算、算術求和運算中的一個。
7.如權利要求1所述的方法,其中所述多個寄存器值中包括的每個寄存器值包括浮點數、無符號整數或帶符號整數。
8.如權利要求1所述的方法,其中所述多個源寄存器包括向量寄存器。
9.如權利要求1所述的方法,其中所述合計值的第一數據大小與所述多個寄存器值中包括的每個寄存器值的第二數據大小相匹配。
10.一種線程束規約單元,包括:
輸入邏輯,所述輸入邏輯響應于接收到與多個線程相關聯的第一指令,訪問存儲在多個源寄存器中的多個寄存器值,其中所述多個源寄存器中的每個源寄存器與所述多個線程中包括的不同線程相關聯;
第一規約子單元,所述第一規約子單元耦合到所述輸入邏輯,對所述多個寄存器值執行一個或更多個運算以生成合計值;和
輸出邏輯,所述輸出邏輯耦合到所述第一規約子單元,所述輸出邏輯將所述合計值存儲在第一目的地寄存器中,以由所述多個線程中包括的至少一個線程訪問。
11.如權利要求10所述的線程束規約單元,其中所述合計值包括整數,并且所述線程束規約單元還包括:
第二規約子單元,其耦合至所述輸入邏輯和所述輸出邏輯,所述第二規約子單元響應于第二指令對由所述輸入邏輯訪問的多個浮點數執行一個或更多個運算以生成合計浮點數,所述輸出邏輯將所述合計浮點數存儲在第二目的地寄存器中。
12.如權利要求10所述的線程束規約單元,其中所述第一目的地寄存器包括統一寄存器,所述統一寄存器能夠被所述多個線程中包括的每個線程訪問。
13.如權利要求10所述的線程束規約單元,所述多個線程包括在同時執行同一程序的線程組中,其中所述輸入邏輯確定基于與所述第一指令相關聯的保護謂詞將所述第一指令應用于所述多個線程。
14.如權利要求10所述的線程束規約單元,其中對所述多個寄存器值執行一個或更多個運算包括:將所述第一指令中指定的規約運算應用于所述多個寄存器值。
15.如權利要求10所述的線程束規約單元,其中所述多個源寄存器包括向量寄存器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于輝達公司,未經輝達公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010181185.6/1.html,轉載請聲明來源鉆瓜專利網。





