[發明專利]用于有索引的屏障的硬件調度的系統和方法在審
| 申請號: | 201310745810.5 | 申請日: | 2013-12-30 |
| 公開(公告)號: | CN104050033A | 公開(公告)日: | 2014-09-17 |
| 發明(設計)人: | 約翰·埃里克·林霍爾姆;泰羅·塔帕尼·卡拉斯 | 申請(專利權)人: | 輝達公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 北京市磐華律師事務所 11336 | 代理人: | 謝栒;魏寧 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 索引 屏障 硬件 調度 系統 方法 | ||
技術領域
本發明涉及程序執行,并且更具體地,涉及屏障(barrier)。
背景技術
常規的并行處理架構支持多個線程的執行。在程序的執行期間使用常規的并行處理架構實施的特定操作可能要求多個線程的同步。屏障指令(或柵欄(fence)指令)用來在這類程序的執行期間使多個線程的執行同步。并行處理架構內的調度單元識別屏障指令并且確保所有線程在任何線程執行該特定屏障指令以后的指令之前抵達該特定屏障指令。執行線程的多線程處理單元配置為使特定屏障指令處的線程同步。多線程處理單元可以配置為并行地或串行地執行經同步的線程。在一些情況下,所有經同步的線程可以不被并行執行,諸如當屏障用來描繪有序的關鍵代碼段時。然而,線程的串行執行降低性能。
因此,存在對于解決處理屏障指令的問題和/或與現有技術相關聯的其他問題的需求。
發明內容
提供用于調度有索引的屏障指令的執行的系統和方法。發起多個線程的執行以處理包括屏障指令的程序的指令,并且當每個線程到達屏障指令時,線程暫停指令的執行。多個線程中的線程的第一子組與第一子屏障索引相關聯并且多個線程中的線程的第二子組與第二子屏障索引相關聯。當屏障指令能夠被調度用于執行時,第一子組中的線程被串行地執行,第二子組中的線程被串行地執行,并且第一子組中的至少一個線程與第二子組中的至少一個線程被并行地執行。
附圖說明
圖1是示出了配置為實現本公開的一個或多個方面的計算機系統的框圖;
圖2是根據本公開的一個實施例的、用于圖1的計算機系統的并行處理子系統的框圖;
圖3A是根據本公開的一個實施例的、圖2的前端的框圖;
圖3B是根據本公開的一個實施例的、圖2的并行處理單元之一內的通用處理集群的框圖;
圖3C是根據本公開的一個實施例的、圖3B的流多處理器的一部分的框圖;以及
圖4是根據本公開的一個示范性實施例的、示出了CTA的線程塊的示意圖;
圖5A是根據本公開的一個示范性實施例的、圖3C的線程束(warp)調度器和指令單元的框圖;
圖5B是根據本公開的一個示范性實施例的、將子屏障索引映射到由多個圖形圖元相交的像素網格的示意圖;
圖5C是根據本公開的一個示范性實施例的、圖5A的調度單元和屏障調度單元的一部分的框圖;
圖5D示出了根據本公開的一個示范性實施例的、用于調度有索引的屏障指令用于執行的方法;
圖6A示出了根據本公開的一個示范性實施例的、用于調度有索引的屏障指令用于執行的方法;
圖6B示出了根據本公開的一個示范性實施例的、用于實施圖6A所示的步驟的方法;以及
圖6C示出了根據本公開的一個示范性實施例的、用于實施圖6B所示的步驟的方法。
具體實施方式
提供用于調度使得線程子組能夠參與屏障指令的有條件的屏障的執行的系統和方法。發起線程的執行以處理包括屏障指令的程序的指令,并且當每個線程到達屏障指令時,確定線程是否參與屏障指令。執行參與屏障指令的線程以處理跟隨在屏障指令之后的程序的一個或多個指令。不參與屏障指令的線程可以繼續執行而不等待其他線程到達屏障指令。
現在將關于各可選架構和特征來闡述更多示例性的信息,根據用戶的期望可以采用所述架構和特征來實現或不實現前述的技術。應該特別注意下面的信息出于示例性的目的而闡述并且其不應該被認為是以任何方式進行限制。下面特征中的任何一個可以可選地合并,排斥或無需排斥所述的其他特征。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于輝達公司,未經輝達公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310745810.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:自動鉆孔機多段間歇進刀斷屑裝置
- 下一篇:沙箱內安裝軟件的方法和系統





