TECHNIQUES FOR COMPREHENSIVELY SYNCHRONIZING EXECUTION THREADS

    公开(公告)号:US20200034143A1

    公开(公告)日:2020-01-30

    申请号:US16595398

    申请日:2019-10-07

    IPC分类号: G06F9/30 G06F9/38 G06F9/46

    摘要: In one embodiment, a synchronization instruction causes a processor to ensure that specified threads included within a warp concurrently execute a single subsequent instruction. The specified threads include at least a first thread and a second thread. In operation, the first thread arrives at the synchronization instruction. The processor determines that the second thread has not yet arrived at the synchronization instruction and configures the first thread to stop executing instructions. After issuing at least one instruction for the second thread, the processor determines that all the specified threads have arrived at the synchronization instruction. The processor then causes all the specified threads to execute the subsequent instruction. Advantageously, unlike conventional approaches to synchronizing threads, the synchronization instruction enables the processor to reliably and properly execute code that includes complex control flows and/or instructions that presuppose that threads are converged.

    TECHNIQUES FOR COMPREHENSIVELY SYNCHRONIZING EXECUTION THREADS

    公开(公告)号:US20180314520A1

    公开(公告)日:2018-11-01

    申请号:US15499843

    申请日:2017-04-27

    IPC分类号: G06F9/30 G06F9/38

    摘要: In one embodiment, a synchronization instruction causes a processor to ensure that specified threads included within a warp concurrently execute a single subsequent instruction. The specified threads include at least a first thread and a second thread. In operation, the first thread arrives at the synchronization instruction. The processor determines that the second thread has not yet arrived at the synchronization instruction and configures the first thread to stop executing instructions. After issuing at least one instruction for the second thread, the processor determines that all the specified threads have arrived at the synchronization instruction. The processor then causes all the specified threads to execute the subsequent instruction. Advantageously, unlike conventional approaches to synchronizing threads, the synchronization instruction enables the processor to reliably and properly execute code that includes complex control flows and/or instructions that presuppose that threads are converged.