Method for efficient grouping of cache requests for datapath scheduling
AssigneeNVIDIA Corporation
InventorsGreg MUTHLER, Timo AILA, Tero KARRAS, Samuli LAINE, William Parsons NEWHALL, Ronald Charles BABICH, John BURGESS, Ignacio LLAMAS
Life of this patent
Estimating the term…
Abstract
In a ray tracer, a cache for streaming workloads groups ray requests for coherent successive bounding volume hierarchy traversal operations by sending common data down an attached data path to all ray requests in the group at the same time or about the same time. Grouping the requests provides good performance with a smaller number of cache lines.
Claims27
A streaming cache for use by a ray tracer, the streaming cache comprising:
- at least one cache line;
- a hit/miss detection circuit that determines whether memory access requests from ray operations are hits or misses, the circuit initiating data retrieval from memory into said at least one cache line in response to detected misses;
- and
- a datapath that time-coherently serves data to groups of ray operations that request the same cache line.
A method for using a cache to schedule execution of requests, the method comprising:
- determining whether a first request uses data that is used by a second request;
- if it is determined that the first request uses the same data used by the second request, grouping the first and second requests;
- and
- upon the data becoming available in the cache, delivering the data in response to both first and second requests at about the same time thereby scheduling the grouped first and second requests for execution.
A streaming cache for use by a ray tracer, the streaming cache comprising:
- a hit/miss detection circuit that determines whether memory access requests to the cache from ray operations are hits or misses, the circuit initiating data retrieval from memory in response to detected misses;
- and
- a datapath that time-coherently serves data retrieved from the memory in response to detected misses to groups of ray operations that request the same retrieved data.
A streaming cache for use by a ray tracer, the streaming cache comprising:
- at least one cache line;
- a hit/miss detection circuit that determines whether memory access requests from ray operations are hits or misses, the circuit initiating data retrieval from memory into said at least one cache line in response to detected misses;
- and
- a datapath that serves, at the same time or about the same time, data to groups of independent ray operations that request the same cache line to thereby schedule the independent ray operations.
A cache streaming method comprising:
- determining whether memory access requests from ray operations are hits or misses in a cache memory;
- requesting data from main memory in response to detected misses;
- and
- time-coherently streaming, via a datapath, data the main memory provides based on requests responsive to detected misses to groups of ray operations that need the same retrieved data.
A method comprising:
- determining that plural independent rays request common data;
- and
- providing data to the plural independent rays determined to request the common data to thereby synchronize the independent rays to process said common data.
Dependencies are inferred from the claim text.