Legal claims defining the scope of protection, as filed with the USPTO.
1. A system comprising: a first processor to perform a first plurality of ray traversal operations based on a first partition of ray tracing data and to perform a second plurality of ray traversal operations based on first proxy data comprising a compressed representation of a second partition of the ray tracing data, the first partition and first proxy data stored in a first memory coupled to the first processor; and a second processor communicatively coupled to the first processor, the second processor to perform a third plurality of ray traversal operations based on the second partition of ray tracing data stored in a second memory coupled to the second processor; wherein the first and second partitions of ray tracing data comprise respective first and second portions of a plurality of rays, first and second portions of a plurality of primitives, and first and second portions of a bounding volume hierarchy; wherein if the first processor determines, based on the second plurality of ray traversal operations, that performing ray traversal operations with respect to a first ray requires the second partition of ray tracing data, then the first processor is to perform one or both of: requesting at least a portion of the second partition of ray tracing data to be stored in the first memory and performing a fourth plurality of ray traversal operations based on the at least a portion of the second partition of the ray tracing data; and providing an indication to the second processor, wherein responsive to the indication, the second processor is to perform the fourth plurality of ray traversal operations based on the at least a portion of the second partition of the ray tracing data.
2. The system of claim 1 wherein the first processor comprises a first graphics processing unit (GPU) and the second processor comprises a second GPU.
3. The system of claim 2 wherein the first GPU comprises a first ray tracing core to perform the first plurality of ray traversal operations and the second GPU comprises a second ray tracing core to perform the third plurality of ray traversal operations.
4. The system of claim 2 wherein the first GPU and second GPU are configured within the same computer system.
5. The system of claim 2 wherein the first GPU and second GPU are configured within different computer systems.
6. The system of claim 1 wherein if the first processor determines, based on the second plurality of ray traversal operations, that the second partition of ray tracing data is not required, then the first processor is to complete traversal of the first ray without requesting the at least a portion of the second partition or providing an indication to the second processor.
7. The system of claim 6 wherein the second plurality of ray traversal operations indicate that the first ray will not intersect a primitive in the second partition of ray tracing data.
8. The system of claim 1 wherein the first proxy data comprises an approximation or conservative bound of the second partition of ray tracing data.
9. The system of claim 8 wherein the second processor is to generate the first proxy data and provide the first proxy data to the first processor and wherein the first processor is to generate second proxy data comprising an approximation or conservative bound of the first partition of ray tracing data and to provide the second proxy data to the second processor.
10. The system of claim 9 wherein the second processor is to perform a fifth plurality of ray traversal operations based on second proxy data to determine whether at least a portion of the first partition of ray tracing data is required for traversal of a second ray.
11. The system of claim 10 wherein if the at least a portion of the first partition of ray tracing data is required for traversal of the second ray, then the second processor is to perform one or both of: requesting at least a portion of the first partition of ray tracing data to be stored in the second memory and performing a sixth plurality of ray traversal operations based on the at least a portion of the first partition of the ray tracing data; and providing an indication to the first processor, wherein responsive to the indication, the first processor is to perform the sixth plurality of ray traversal operations based on the at least a portion of the first partition of the ray tracing data.
12. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of: dividing ray tracing work between a first processor and a second processor communicatively coupled to the first processor; performing a first plurality of ray traversal operations on the first processor based on a first partition of ray tracing data; performing a second plurality of ray traversal operations based on first proxy data comprising a compressed representation of a second partition of the ray tracing data, the first partition and first proxy data stored in a first memory coupled to the first processor; performing a third plurality of ray traversal operations based on the second partition of ray tracing data stored in a second memory coupled to the second processor; wherein the first and second partitions of ray tracing data comprise respective first and second portions of a plurality of rays, first and second portions of a plurality of primitives, and first and second portions of a bounding volume hierarchy; wherein if the first processor determines, based on the second plurality of ray traversal operations, that performing ray traversal operations with respect to a first ray requires the second partition of ray tracing data, then the first processor is to perform one or both of: requesting at least a portion of the second partition of ray tracing data to be stored in the first memory and performing a fourth plurality of ray traversal operations based on the at least a portion of the second partition of the ray tracing data; and providing an indication to the second processor, wherein responsive to the indication, the second processor is to perform the fourth plurality of ray traversal operations based on the at least a portion of the second partition of the ray tracing data.
13. The machine-readable medium of claim 12 wherein the first processor comprises a first graphics processing unit (GPU) and the second processor comprises a second GPU.
14. The machine-readable medium of claim 13 wherein the first GPU comprises a first ray tracing core to perform the first plurality of ray traversal operations and the second GPU comprises a second ray tracing core to perform the third plurality of ray traversal operations.
15. The machine-readable medium of claim 13 wherein the first GPU and second GPU are configured within the same computer system.
16. The machine-readable medium of claim 13 wherein the first GPU and second GPU are configured within different computer systems.
17. The machine-readable medium of claim 12 wherein if the first processor determines, based on the second plurality of ray traversal operations, that the second partition of ray tracing data is not required, then the first processor is to complete traversal of the first ray without requesting the at least a portion of the second partition or providing an indication to the second processor.
18. The machine-readable medium of claim 17 wherein the second plurality of ray traversal operations indicate that the first ray will not intersect a primitive in the second partition of ray tracing data.
19. The machine-readable medium of claim 12 wherein the first proxy data comprises an approximation or conservative bound of the second partition of ray tracing data.
20. The machine-readable medium of claim 19 wherein the second processor is to generate the first proxy data and provide the first proxy data to the first processor and wherein the first processor is to generate second proxy data comprising an approximation or conservative bound of the first partition of ray tracing data and to provide the second proxy data to the second processor.
21. The machine-readable medium of claim 20 wherein the second processor is to perform a fifth plurality of ray traversal operations based on second proxy data to determine whether at least a portion of the first partition of ray tracing data is required for traversal of a second ray.
22. The machine-readable medium of claim 21 wherein if the at least a portion of the first partition of ray tracing data is required for traversal of the second ray, then the second processor is to perform one or both of: requesting at least a portion of the first partition of ray tracing data to be stored in the second memory and performing a sixth plurality of ray traversal operations based on the at least a portion of the first partition of the ray tracing data; and providing an indication to the first processor, wherein responsive to the indication, the first processor is to perform the sixth plurality of ray traversal operations based on the at least a portion of the first partition of the ray tracing data.
Unknown
July 27, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.