Patent ID: 9135081
Filing Date: 2015-09-15
Classification: G06F

Abstract:
1. A method for configuring a work queue to enable threads executing in a parallel processing subsystem to generate and execute work within the parallel processing subsystem, the method comprising: generating the work queue, wherein the work queue includes a plurality of entries and is associated with a first pointer and a second pointer, wherein each of the first pointer and the second pointer is inaccessible to the threads; establishing a range of free entries in the work queue by: generating a third pointer that points to the first entry of the plurality of entries, wherein the third pointer is accessible to the threads; generating a fourth pointer that points to the last entry of the plurality of entries, wherein the fourth pointer is accessible to the threads; pointing the first entry of the work queue to a command block that contains a semaphore acquire command pointing to a semaphore that is blocked; loading work into the range of free entries in the work queue via the third and fourth pointers; and in response to determining that the threads have completed loading work into the range of free entries in the work queue, releasing the semaphore to cause both the first pointer to advance to a next entry in the work queue and to cause the parallel processing subsystem to execute work generated by the threads.