发明名称 Techniques for managing the execution order of multiple nested tasks executing on a parallel processor
摘要 One embodiment of the present disclosure sets forth an enhanced way for GPUs to queue new computational tasks into a task metadata descriptor queue (TMDQ). Specifically, memory for context data is pre-allocated when a new TMDQ is created. A new TMDQ may be integrated with an existing TMDQ, where computational tasks within that TMDQ include task from each of the original TMDQs. A scheduling operation is executed on completion of each computational task in order to preserve sequential execution of tasks without the use of atomic locking operations. One advantage of the disclosed technique is that GPUs are enabled to queue computational tasks within TMDQs, and also create an arbitrary number of new TMDQs to any arbitrary nesting level, without intervention by the CPU. Processing efficiency is enhanced where the GPU does not wait while the CPU creates and queues tasks.
申请公布号 US9436504(B2) 申请公布日期 2016.09.06
申请号 US201213467574 申请日期 2012.05.09
申请人 NVIDIA Corporation 发明人 Durant Luke
分类号 G06F9/46;G06F9/48 主分类号 G06F9/46
代理机构 Artegis Law Group, LLP 代理人 Artegis Law Group, LLP
主权项 1. A computer-implemented method for processing a plurality of tasks being executed by a first group of threads and stored within a plurality of task metadata descriptor queues (TMDQs), the method comprising: receiving a notification that a first task included in the plurality of tasks has completed; determining within a co-processing unit whether all tasks included in a subset of the plurality of tasks and associated with a first TMDQ have executed; if all tasks included in the subset of the plurality of tasks have not executed, then launching a second task included in the plurality of tasks; and if all tasks included in the subset of the plurality of tasks have executed, then: updating a pointer in a first data structure associated with the first TMDQ;determining that a third task included in the plurality of tasks is about to be queued in the first TMDQ; and executing the third task.
地址 Santa Clara CA US