US 7,586,493 B1
System and method for offloading application tasks in a multi-processor environment utilizing a driver
Rudy Jason Sams, San Jose, Calif. (US)
Assigned to NVIDIA Corporation, Santa Clara, Calif. (US)
Filed on May 24, 2006, as Appl. No. 11/441,432.
Int. Cl. G06F 15/16 (2006.01); G06F 15/80 (2006.01); G06F 13/14 (2006.01); G06T 1/00 (2006.01)
U.S. Cl. 345—502  [345/503; 345/504; 345/505; 345/520; 345/522] 19 Claims
OG exemplary drawing
 
1. A method, comprising:
identifying an application performing a plurality of tasks, the application being executed utilizing a first processor;
determining at least a subset of the tasks, utilizing a driver;
executing the subset of the tasks utilizing a second processor different than the first processor; and
determining whether the execution of the subset of the tasks exhibits a predetermined amount of efficiency;
wherein the determining whether the execution of the subset of the tasks exhibits the predetermined amount of efficiency includes determining whether a total processor usage is significantly greater than a predetermined processor usage, the predetermined processor usage including a sum of time spent playing tokens back and time spent waiting for a next API call from the application to be tokenized.