【技术实现步骤摘要】
用于全面同步执行线程的技术
本专利技术的实施例总地涉及并行处理系统,并且更具体地,涉及用于全面同步执行线程的技术。
技术介绍
图形处理单元(GPU)能够在专用可编程硬件处理单元上使用数量相对较多的小型并行执行线程来实现非常高的性能。在GPU中,“线程组(threadgroup)”或“线程束(warp)”是指对不同的输入数据大致同时执行相同指令的一组线程。然而,开发者可以编写代码,当其在GPU上执行时,使得线程束中的仅仅一部分线程执行指令。线程束中的线程在执行这类型指令期间被称为“分散的(diverged)”。引起这种分散的代码的示例是以C编程语言编写的代码,所述C编程语言包括导致两种或更多种指令序列的“if”语句,其中线程束中的不同线程集遵循序列中的每一个。GPU的一个限制是,一些指令的合适行为假定每个线程束中的线程是聚合的(converged)。例如,GPU可以实现随机指令(shuffleinstruction),其允许线程束中的线程之间的直接寄存器到寄存器数据交换。当线程是分散的时,如果GPU试图对线程束执行随机指令,则结果是不可预期的。例如,在GPU上执行的代码可产生不正确的结果或意外终止。尽管一些编译器和GPU实现了一些等级的同步功能,然而那些功能是有限的并且不能保证对所有情况都聚合。例如,许多GPU实现了意图同步线程束的屏障指令(barrierinstruction)。然而,屏障指令假定每个线程束中的线程已聚合并因此是不可靠的。在另一示例中,一些编译器分析代码以检测相对简单的分散模式。一旦检测到的分散模式,则编译器将两个指令之间的分散指令加上括号 ...
【技术保护点】
1.一种计算机实现的方法,用于同步多个线程,所述方法包括:确定包括在所述多个线程中的第一线程已经到达同步指令,其中所述同步指令指定所述多个线程;确定包括在所述多个线程中的第二线程还没有到达所述同步指令;将所述第一线程配置为停止执行指令;针对所述第二线程发出至少一个额外的指令;确定包括在所述多个线程中的所有线程已经到达所述同步指令;以及使得包括在所述多个线程中的所有线程执行第一后续指令。
【技术特征摘要】
2017.04.27 US 15/499,8431.一种计算机实现的方法,用于同步多个线程,所述方法包括:确定包括在所述多个线程中的第一线程已经到达同步指令,其中所述同步指令指定所述多个线程;确定包括在所述多个线程中的第二线程还没有到达所述同步指令;将所述第一线程配置为停止执行指令;针对所述第二线程发出至少一个额外的指令;确定包括在所述多个线程中的所有线程已经到达所述同步指令;以及使得包括在所述多个线程中的所有线程执行第一后续指令。2.如权利要求1所述的计算机实现的方法,其中所述同步指令和所述第一后续指令包括指令对。3.如权利要求1所述的计算机实现的方法,其中所述第一后续指令包括随机指令或投票指令,所述随机指令使能所述多个线程之间的直接寄存器到寄存器数据交换,所述投票指令基于从所述多个线程接收的数据生成单个投票结果。4.如权利要求1所述的计算机实现的方法,其中所述第一后续指令包括线程间组屏障指令,其包括所述多个线程和至少一个其他多个线程。5.如权利要求1所述的计算机实现的方法,其中将所述第一线程配置为停止执行指令包括:将与所述第一线程相关联的调度状态设置为使得指令不被发出至所述第一线程的值,以及去激活所述第一线程。6.如权利要求1所述的计算机实现的方法,进一步包括:在确定所述第二线程还没有到达所述同步指令之前,将与所述第一线程相关联的第一恢复程序计数器设置为指定所述同步指令。7.如权利要求1所述的计算机实现的方法,进一步包括:在确定包括在所述多个线程中的所有线程已经到达所述同步指令之前:基于与所述第一线程相关联的第一恢复程序计数器,将线程组程序计数器设置为指定所述同步指令;以及对于包括在所述多个线程中的每个线程,确定与所述线程相关联的恢复程序计数器等于所述同步指令,以及使得所述线程基于所述线程组程序计数器执行指令。8.如权利要求7所述的计算机实现的方法,其中使得所述线程基于所述线程组程序计数器执行指令包括:将与所述线程相关联的调度状态设置为使指令被发出至所述线程的值。9.如权利要求1所述的计算机实现的方法,其中确定包括在所述多个线程中的所有线程已经到达所述同步指令包括:对包括在所述多个线程中的每个线程,确定所述线程不再能够执行任何指令或者已经开始执行所述同步指令。10.如权利要求1所述的计算机实现的方法,其中使得包括在所述多个线程中的所有线程执行所述第一后续指令包括:将线程组程序计数器设置为指定所述第一后续指令。11.一种系统,被配置为同步多个线程,所述系统包括:指令高速缓存,存储多个指令;指令调度程序,耦合到所述指令高速缓存;以及聚合屏障单元,...
【专利技术属性】
技术研发人员:阿杰伊·苏达尚·蒂鲁马拉,奥利维尔·吉普,彼得·尼尔森,杰克·肖凯特,
申请(专利权)人:辉达公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。