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.

Date of Patent:
May. 20, 2014

Filed:

Jun. 01, 2011
Applicants:

William James Dally, Stanford, CA (US);

Stephen William Keckler, San Jose, CA (US);

David Tarjan, Santa Clara, CA (US);

John Erik Lindholm, Saratoga, CA (US);

Mark Alan Gebhart, Austin, TX (US);

Daniel Robert Johnson, Champaign, IL (US);

Inventors:

William James Dally, Stanford, CA (US);

Stephen William Keckler, San Jose, CA (US);

David Tarjan, Santa Clara, CA (US);

John Erik Lindholm, Saratoga, CA (US);

Mark Alan Gebhart, Austin, TX (US);

Daniel Robert Johnson, Champaign, IL (US);

Assignee:

NVIDIA Corporation, Santa Clara, CA (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/46 (2006.01);
U.S. Cl.
CPC ...
Abstract

One embodiment of the present invention sets forth a technique for scheduling thread execution in a multi-threaded processing environment. A two-level scheduler maintains a small set of active threads called strands to hide function unit pipeline latency and local memory access latency. The strands are a sub-set of a larger set of pending threads that is also maintained by the two-leveler scheduler. Pending threads are promoted to strands and strands are demoted to pending threads based on latency characteristics. The two-level scheduler selects strands for execution based on strand state. The longer latency of the pending threads is hidden by selecting strands for execution. When the latency for a pending thread is expired, the pending thread may be promoted to a strand and begin (or resume) execution. When a strand encounters a latency event, the strand may be demoted to a pending thread while the latency is incurred.


Find Patent Forward Citations

Loading…