[发明专利]用于有条件的屏障和急迫的屏障的硬件调度的系统和方法在审
申请号: | 201310745800.1 | 申请日: | 2013-12-30 |
公开(公告)号: | CN104050032A | 公开(公告)日: | 2014-09-17 |
发明(设计)人: | 约翰·埃里克·林霍尔姆;泰罗·塔帕尼·卡拉斯;蒂莫·奥斯卡伊·艾拉;萨穆利·马蒂亚斯·莱内 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 谢栒;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 有条件 屏障 急迫 硬件 调度 系统 方法 | ||
技术领域
本发明涉及程序执行,并且更具体地,涉及有条件的或急迫的(impatient)屏障(barrier)。
背景技术
常规的并行处理架构支持多个线程的执行。在程序的执行期间使用常规的并行处理架构实施的特定操作可能要求多个线程的同步。屏障指令(或栅栏(fence)指令)用来在这类程序的执行期间使多个线程的执行同步。并行处理架构内的调度单元识别屏障指令并且确保所有线程在任何线程执行该特定屏障指令以后的指令之前到达该特定屏障指令。在一些情况下,不一定使屏障指令处的所有线程同步并且不要求同步的线程的执行一定被延迟。
因此,存在对于解决调度执行线程以处理屏障指令的问题和/或与现有技术相关联的其他问题的需求。
发明内容
提供用于调度有条件的屏障的执行的系统和方法。发起多个线程的执行以处理包括屏障指令的程序的指令,并且当在程序的执行期间每个线程到达屏障指令时,确定线程是否参与屏障指令。之后串行地执行参与屏障指令的线程以处理跟随在屏障指令之后的程序的一个或多个指令。
还提供用于屏障指令的急迫调度的方法和系统。发起多个线程的执行以处理包括屏障指令的程序的指令,并且当大于最小数目的线程并且小于多个线程中的所有线程的线程的一部分到达屏障指令时,串行地执行该部分中的线程中的每一个以处理跟随在屏障指令之后的程序的一个或多个指令。
附图说明
图1是示出了配置为实现本公开的一个或多个方面的计算机系统的框图;
图2是根据本公开的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;
图3A是根据本公开的一个实施例的、图2的前端的框图;
图3B是根据本公开的一个实施例的、图2的并行处理单元之一内的通用处理集群的框图;
图3C是根据本公开的一个实施例的、图3B的流多处理器的一部分的框图;以及
图4是根据本公开的一个示范性实施例的、示出了CTA的线程块的示意图;
图5A是根据本公开的一个示范性实施例的、图3C的线程束(warp)调度器和指令单元的框图;
图5B是根据本公开的一个示范性实施例的、图5A的调度单元和屏障调度单元的一部分的框图;
图6A示出了根据本公开的一个示范性实施例的、用于基于逻辑标识符调度指令用于执行的方法;以及
图6B示出了根据本公开的一个示范性实施例的、用于实施图6A所示的步骤的方法。
图6C示出了根据本公开的一个示范性实施例的、用于实施图6B所示的步骤的方法。
具体实施方式
提供用于调度使得线程子集能够参与屏障指令的有条件的屏障的执行的系统和方法。发起线程的执行以处理包括屏障指令的程序的指令,并且当每个线程到达屏障指令时,确定线程是否参与屏障指令。执行参与屏障指令的线程以处理跟随在屏障指令之后的程序的一个或多个指令。不参与屏障指令的线程可以继续执行而不等待其他线程到达屏障指令。
现在将关于各可选架构和特征来阐述更多示例性的信息,根据用户的期望可以采用所述架构和特征来实现或不实现前述的技术。应该特别注意下面的信息出于示例性的目的而阐述并且其不应该被认为是以任何方式进行限制。下面特征中的任何一个可以可选地合并,排斥或无需排斥所述的其他特征。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310745800.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动变速器
- 下一篇:一种具有防冻功能的植物叶面肥