-
公开(公告)号:US10067768B2
公开(公告)日:2018-09-04
申请号:US14798265
申请日:2015-07-13
Applicant: NVIDIA Corporation
Inventor: Gregory Frederick Diamos , Richard Craig Johnson , Vinod Grover , Olivier Giroux , Jack H. Choquette , Michael Alan Fetterman , Ajay S. Tirumala , Peter Nelson , Ronny Meir Krashinsky
Abstract: A method, system, and computer program product for executing divergent threads using a convergence barrier are disclosed. A first instruction in a program is executed by a plurality of threads, where the first instruction, when executed by a particular thread, indicates to a scheduler unit that the thread participates in a convergence barrier. A first path through the program is executed by a first divergent portion of the participating threads and a second path through the program is executed by a second divergent portion of the participating threads. The first divergent portion of the participating threads executes a second instruction in the program and transitions to a blocked state at the convergence barrier. The scheduler unit determines that all of the participating threads are synchronized at the convergence barrier and the convergence barrier is cleared.
-
2.
公开(公告)号:US20160019066A1
公开(公告)日:2016-01-21
申请号:US14798265
申请日:2015-07-13
Applicant: NVIDIA CORPORATION
Inventor: Gregory Frederick Diamos , Richard Craig Johnson , Vinod Grover , Olivier Giroux , Jack H. Choquette , Michael Alan Fetterman , Ajay S. Tirumala , Peter Nelson , Ronny Meir Krashinsky
CPC classification number: G06F9/522 , G06F9/30087 , G06F9/3009 , G06F9/3851 , G06F9/3887
Abstract: A method, system, and computer program product for executing divergent threads using a convergence barrier are disclosed. A first instruction in a program is executed by a plurality of threads, where the first instruction, when executed by a particular thread, indicates to a scheduler unit that the thread participates in a convergence barrier. A first path through the program is executed by a first divergent portion of the participating threads and a second path through the program is executed by a second divergent portion of the participating threads. The first divergent portion of the participating threads executes a second instruction in the program and transitions to a blocked state at the convergence barrier. The scheduler unit determines that all of the participating threads are synchronized at the convergence barrier and the convergence barrier is cleared.
Abstract translation: 公开了一种使用会聚障碍来执行发散线程的方法,系统和计算机程序产品。 程序中的第一指令由多个线程执行,其中当特定线程执行时,第一指令向调度器单元指示线程参与会聚障碍。 通过程序的第一路径由参与线程的第一发散部分执行,并且通过程序的第二路径由参与线程的第二发散部分执行。 参与线程的第一发散部分执行程序中的第二条指令,并在会聚障碍处转变为阻塞状态。 调度器单元确定所有参与线程在会聚障碍处被同步,并且会聚障碍被清除。
-