发明名称 System, method, and computer program product for managing divergences and synchronization points during thread block execution by using a double sided queue for token storage
摘要 A system, method, and computer program product for ensuring forward progress of threads that implement divergent operations in a single-instruction, multiple data (SIMD) architecture is disclosed. The method includes the steps of allocating a queue data structure to a thread block including a plurality of threads, determining that a current instruction specifies a yield operation, pushing a token onto the second side of the queue data structure, disabling any active threads in the thread block, popping a next pending token from the first side of the queue data structure, and activating one or more threads in the thread block according to a mask included in the next pending token.
申请公布号 US9459876(B2) 申请公布日期 2016.10.04
申请号 US201313945842 申请日期 2013.07.18
申请人 NVIDIA Corporation 发明人 Giroux Olivier;Diamos Gregory Frederick
分类号 G06F9/38;G06F9/52;G06F9/30 主分类号 G06F9/38
代理机构 Zilka-Kotab, PC 代理人 Zilka-Kotab, PC
主权项 1. A method comprising: managing divergences and synchronization points for a thread block based on a set of tokens included in a data structure having a first side where tokens are added to and extracted from the data structure and a second side where tokens are added to the data structure, wherein the thread block includes a plurality of threads executing in parallel.
地址 Santa Clara CA US