IP Library Granted Patent US 12,670,654
Granted Patent B2
US 12,670,654 · App. 18/413,286 · Granted Jun 30, 2026

Apparatus and method for a hierarchical beam tracer

Inventors: Scott Janus (Loomis, CA); Prasoonkumar Surti (Folsom, CA); Karthik Vaidyanathan (San Francisco, CA); Alexey Supikov (San Jose, CA); Gabor Liktor (San Francisco, CA); Carsten Benthin (Voelklingen, DE); Philip Laws (Santa Clara, CA); Michael Doyle (Santa Clara, CA)
Assignee: INTEL CORPORATION
G06T15/06G06T1/20G06T1/60G06T15/005G06T17/005G06T2210/21
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,670,654
App. No.
18/413,286
Granted
Jun 30, 2026
Kind
B2
Abstract

Apparatus and method for a hierarchical beam tracer. For example, one embodiment of an apparatus comprises: a beam generator to generate beam data associated with a beam projected into a graphics scene; a bounding volume hierarchy (BVH) generator to generate BVH data comprising a plurality of hierarchically arranged BVH nodes; a hierarchical beam-based traversal unit to determine whether the beam intersects a current BVH node and, if so, to responsively subdivide the beam into N child beams to test against the current BVH node and/or to traverse further down the BVH hierarchy to select a new BVH node, wherein the hierarchical beam-based traversal unit is to iteratively subdivide successive intersecting child beams and/or to continue to traverse down the BVH hierarchy until a leaf node is reached with which at least one final child beam is determined to intersect; the hierarchical beam-based traversal unit to generate a plurality of rays within the final child beam; and intersection hardware logic to perform intersection testing for any rays intersecting the leaf node, the intersection testing to determine intersections between the rays intersecting the leaf node and primitives bounded by the leaf node.

Claims (41)

1 . A method comprising:

communicating between components within a system through a Peripheral Component Interconnect Express interface;

accessing data in memory by the components through a set of memory controllers of the system;

coupling a plurality of multi-core groups to the Peripheral Component Interconnect Express interface and the set of memory controllers, wherein a multi-core group within the plurality of multi-core groups comprises a plurality of graphics cores, a plurality of tensor cores, and a ray tracing core;

performing, by the ray tracing core, bounding volume hierarchy operations and intersection operations; and

processing, by the ray tracing core, beam data associated with a beam projected into a graphics scene, wherein processing the beam data associated with the beam comprises subdividing the beam into child beams to perform the intersection operations.

2 . The method of claim 1 , further comprising:

sharing a first cache among the plurality of graphics cores, the plurality of tensor cores, and the ray tracing core.

3 . The method of claim 2 , further comprising:

sharing a second cache by all or subset of the plurality of multi-core groups.

4 . The method of claim 1 , wherein processing the beam data associated with the beam further comprises: determining whether the beam intersects with a node of multiple nodes arranged hierarchically in a hierarchical tree structure, the multiple nodes containing primitives of the graphics scene; and responsive to the beam intersecting with the node of the multiple nodes, performing one of subdividing an intersecting child beam into a plurality of child beams until reaching a beam leaf that cannot be further subdivided, and continuing to traverse down nodes arranged hierarchically in the hierarchical tree structure until a leaf node is reached.

5 . The method of claim 4 , wherein processing the beam data associated with the beam further comprises, responsive to the beam intersecting with the node of the multiple nodes, testing to determine intersections between one or more rays within the beam leaf with primitives bounded by the leaf node.

6 . The method of claim 5 , wherein testing to determine the intersections between one or more rays within the beam leaf with primitives bounded by the leaf node comprises tracking a ray intersection distance per child beam.

7 . The method of claim 4 , wherein processing the beam data associated with the beam further comprises, responsive to the beam not intersecting with the node of the multiple nodes, ignoring the node of the multiple nodes and testing a next node of the multiple nodes arranged hierarchically in the hierarchical tree structure.

8 . A system comprising:

a Peripheral Component Interconnect Express interface;

a set of memory controllers; and

a plurality of multi-core groups coupled to the Peripheral Component Interconnect Express interface and the set of memory controllers, wherein a multi-core group within the plurality of multi-core groups comprises:

a plurality of graphics cores;

a plurality of tensor cores; and

a ray tracing core to perform bounding volume hierarchy operations and intersection operations, the ray tracing core to process beam data associated with a beam projected into a graphics scene, wherein processing the beam data associated with the beam comprises subdividing the beam into child beams to perform the intersection operations.

9 . The system of claim 8 , further comprising:

a first cache shared among the plurality of graphics cores, the plurality of tensor cores, and the ray tracing core.

10 . The system of claim 9 , further comprising:

a second cache shared by all or subset of the plurality of multi-core groups.

11 . The system of claim 8 , wherein processing the beam data associated with the beam further comprises determining whether the beam intersects with a node of multiple nodes arranged hierarchically in a hierarchical tree structure, the multiple nodes containing primitives of the graphics scene; and responsive to the beam intersecting with the node of the multiple nodes, performing one of subdividing an intersecting child beam into a plurality of child beams until reaching a beam leaf that cannot be further subdivided, and continuing to traverse down nodes arranged hierarchically in the hierarchical tree structure until a leaf node is reached.

12 . The system of claim 11 , wherein processing the beam data associated with the beam further comprises, responsive to the beam intersecting with the node of the multiple nodes, testing to determine intersections between one or more rays within the beam leaf with primitives bounded by the leaf node.

13 . The system of claim 12 , wherein testing to determine the intersections between one or more rays within the beam leaf with primitives bounded by the leaf node comprises tracking a ray intersection distance per child beam.

14 . The system of claim 11 , wherein processing the beam data associated with the beam further comprises, responsive to the beam not intersecting with the node of the multiple nodes, ignoring the node of the multiple nodes and testing a next node of the multiple nodes arranged hierarchically in the hierarchical tree structure.

15 . A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform:

communicating between components within a system through a Peripheral Component Interconnect Express interface;

accessing data in memory by the components through a set of memory controllers of the system;

coupling a plurality of multi-core groups to the Peripheral Component Interconnect Express interface and the set of memory controllers, wherein a multi-core group within the plurality of multi-core groups comprises a plurality of graphics cores, a plurality of tensor cores, and a ray tracing core;

performing, by the ray tracing core, bounding volume hierarchy operations and intersection operations; and

processing, by the ray tracing core, beam data associated with a beam projected into a graphics scene, wherein processing the beam data associated with the beam comprises subdividing the beam into child beams to perform the intersection operations.

16 . The non-transitory machine-readable medium of claim 15 , wherein the machine is to further perform:

sharing a first cache among the plurality of graphics cores, the plurality of tensor cores, and the ray tracing core.

17 . The non-transitory machine-readable medium of claim 15 , wherein processing the beam data associated with the beam further comprises: determining whether the beam intersects with a node of multiple nodes arranged hierarchically in a hierarchical tree structure, the multiple nodes containing primitives of the graphics scene; and responsive to the beam intersecting with the node of the multiple nodes, performing one of subdividing an intersecting child beam into a plurality of child beams until reaching a beam leaf that cannot be further subdivided, and continuing to traverse down nodes arranged hierarchically in the hierarchical tree structure until a leaf node is reached.

18 . The non-transitory machine-readable medium of claim 17 , wherein processing the beam data associated with the beam further comprises, responsive to the beam intersecting with the node of the multiple nodes, testing to determine intersections between one or more rays within the beam leaf with primitives bounded by the leaf node.

19 . The non-transitory machine-readable medium of claim 18 , wherein testing to determine the intersections between one or more rays within the beam leaf with primitives bounded by the leaf node comprises tracking a ray intersection distance per child beam.

20 . The non-transitory machine-readable medium of claim 17 , wherein processing the beam data associated with the beam further comprises, responsive to the beam not intersecting with the node of the multiple nodes, ignoring the node of the multiple nodes and testing a next node of the multiple nodes arranged hierarchically in the hierarchical tree structure.