The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Nov. 29, 2016
Filed:
Nov. 08, 2011
Philip Alexander Cuadra, Mountain View, CA (US);
Karim M. Abdalla, Menlo Park, CA (US);
Jerome F. Duluk, Jr., Palo Alto, CA (US);
Luke Durant, Santa Clara, CA (US);
Gerald F. Luiz, Los Gatos, CA (US);
Timothy John Purcell, Provo, UT (US);
Lacky V. Shah, Los Altos Hills, CA (US);
Philip Alexander Cuadra, Mountain View, CA (US);
Karim M. Abdalla, Menlo Park, CA (US);
Jerome F. Duluk, Jr., Palo Alto, CA (US);
Luke Durant, Santa Clara, CA (US);
Gerald F. Luiz, Los Gatos, CA (US);
Timothy John Purcell, Provo, UT (US);
Lacky V. Shah, Los Altos Hills, CA (US);
NVIDIA Corporation, Santa Clara, CA (US);
Abstract
One embodiment of the present invention sets forth a technique for managing the allocation and release of resources during multi-threaded program execution. Programmable reference counters are initialized to values that limit the amount of resources for allocation to tasks that share the same reference counter. Resource parameters are specified for each task to define the amount of resources allocated for consumption by each array of execution threads that is launched to execute the task. The resource parameters also specify the behavior of the array for acquiring and releasing resources. Finally, during execution of each thread in the array, an exit instruction may be configured to override the release of the resources that were allocated to the array. The resources may then be retained for use by a child task that is generated during execution of a thread.