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:
Dec. 27, 2016
Filed:
Feb. 16, 2012
Andy Glaister, Redmond, WA (US);
Blaise Pascal Tine, Lynnwood, WA (US);
Derek Sessions, Bellevue, WA (US);
Mikhail Lyapunov, Woodinville, WA (US);
Yuri Dotsenko, Kirkland, WA (US);
Andy Glaister, Redmond, WA (US);
Blaise Pascal Tine, Lynnwood, WA (US);
Derek Sessions, Bellevue, WA (US);
Mikhail Lyapunov, Woodinville, WA (US);
Yuri Dotsenko, Kirkland, WA (US);
Microsoft Technology Licensing, LLC, Redmond, WA (US);
Abstract
Described are compiler algorithms that partition a compute shader program into maximal-size regions, called thread-loops. The algorithms may remove original barrier-based synchronization yet the thus-transformed shader program remains semantically equivalent to the original shader program (i.e., the transformed shader program is correct). Moreover, the transformed shader program is amenable to optimization via existing compiler technology, and can be executed efficiently by CPU thread(s). A Dispatch call can be load-balanced on a CPU by assigning single or multiple CPU threads to execute thread blocks. In addition, the number of concurrently executing thread blocks do not overload the CPU.