Patent ID: 7868891

Claim:
A method of load balancing between a programmable graphics processing unit (GPU) and a central processing unit (CPU) comprising: forming a two-ended queue of separate work units each capable of being processed at least in part by said GPU and said CPU, wherein the work units individually comprise at least a portion of one or more ray tracing operations for determining whether one or more rays intersect an object, wherein the work units are individually specified at least in part by a number of intersections of a plurality of rays with one or more bounding volumes bounding the object, and wherein the two-ended queue is ordered such that a first end of the two-ended queue contains work units having bounding volumes having a larger number of ray intersections than bounding volumes for work units contained at a second end of the two-ended queue; and processing said work units by having said GPU and said CPU select work units from said respective first and second ends of said queue.