Patents by Inventor Sean Keely
Sean Keely has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 12670655Abstract: A technique for performing ray tracing operations is provided. The technique includes for a ray being tested for intersection with geometry associated with a bounding volume hierarchy, traversing to a pre-filtering node that includes information for filtering out triangles of a leaf node of the bounding volume hierarchy; evaluating a quantized ray that corresponds to the ray against quantized triangles of the pre-filtering node to filter out one or more triangles of the leaf node from consideration; and testing the triangles of the leaf node that are not filtered out and not testing the triangles of the leaf node that are filtered out.Type: GrantFiled: September 29, 2023Date of Patent: June 30, 2026Assignees: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Michael John Livesley, David William John Pankratz, Sean Keely, Andrew Erin Kensler
-
Publication number: 20260094344Abstract: Techniques herein involve operations for reducing divergence for ray tracing. In ray tracing on parallel hardware, rays are processed in “wavefronts” which include multiple threads that execute in lockstep. High divergence can occur in ray tracing as ray processing can have very outcomes. Techniques presented herein reduce divergence by swapping rays between wavefronts at intermediate processing points. The swapping groups more coherent rays together, thereby reducing divergence and increasing efficiency.Type: ApplicationFiled: September 27, 2024Publication date: April 2, 2026Applicant: Advanced Micro Devices, Inc.Inventors: Michael John Livesley, Sean Keely, J. Stephen Junkins
-
Publication number: 20250306942Abstract: An apparatus and method for efficiently processing instructions in hardware parallel execution lanes within a processing circuit. In various implementations, a computing system includes a host processing circuit and a parallel data processing circuit that uses multiple single instruction multiple data (SIMD) circuits, each with multiple parallel lanes of execution. The host processing circuit generates an indication specifying a host trap event has occurred, which includes an asynchronous interruption. The host processing circuit stores the indication and information of a host trap handler in a predetermined memory location specifying subsequent tasks to execute. The parallel data processing circuit accesses this predetermined memory location to check for the indication of a trap event. The instructions of the trap handler directs the parallel data processing circuit to store context state information and initiate processing of other tasks.Type: ApplicationFiled: March 27, 2024Publication date: October 2, 2025Inventors: Joseph L. Greathouse, Sean Keely, Alexandru Voicu
-
Publication number: 20250306946Abstract: An apparatus and method for efficiently processing instructions in hardware parallel execution lanes. In various implementations, a computing system includes a processing circuit that uses a single instruction multiple data (SIMD) circuit that maintains multiple program counter values for multiple parallel lanes of execution. If a divergent point has been reached in the application, then the SIMD circuit generates a lane selecting identifier specifying one of the parallel lanes of execution that remains active to execute the taken path of the divergent point. The SIMD circuit continues executing with each of the parallel lanes of execution with a program counter that matches a program counter of the parallel lane of execution pointed to by the lane selecting ID. The SIMD circuit switches lanes from being inactive to active after a threshold amount of time has elapsed. The SIMD circuit also performs other steps to increase memory-level parallelism.Type: ApplicationFiled: March 27, 2024Publication date: October 2, 2025Inventors: Joseph L. Greathouse, Christopher J. Brennan, Sean Keely
-
Publication number: 20250209723Abstract: Systems and methods described herein use multiple reduced-precision intersection testers in parallel to determine candidate nodes to traverse in a wide BVH. Primitives are quantized to generate primitive packets, that are stored compactly in, with, or near a leaf node. At the leaves of the BVH, these intersection testers test a ray simultaneously against a plurality of triangles in the primitive packet to find candidate triangles that require full-precision intersection. Triangles or primitives that generate an inconclusive result during low-precision testing are retested using full-precision testers to definitively determine ray-triangle hits or misses. Testing the quantized triangles simultaneously using low-precision testers culls instances wherein the ray misses a box or a triangle that need not be tested using higher precision.Type: ApplicationFiled: December 20, 2023Publication date: June 26, 2025Inventors: Andrew Erin Kensler, Sean Keely, David William John Pankratz, Michael John Livesley, David Kirk McAllister
-
Patent number: 12315069Abstract: A technique for performing ray tracing operations is provided. The technique includes determining error bounds for a rotation operation for a ray; selecting a technique for determining whether the ray intersects a bounding box based on the error bounds; and determining whether the ray hits the bounding box based on the selected technique.Type: GrantFiled: December 29, 2022Date of Patent: May 27, 2025Assignee: Advanced Micro Devices, Inc.Inventors: Sean Keely, Daniel James Skinner
-
Publication number: 20250130811Abstract: An apparatus and method for efficiently migrating the execution of threads between multiple parallel lanes of execution. In various implementations, a computing system includes multiple vector processing circuits of a compute circuit that executes multiple lanes of multiple waves. Each lane includes a key indicating a path of execution. When a lane of the multiple lanes of execution executes a stream wave coalescing (SWC) reorder instruction, a control circuit compares keys of waves that have previously executed the SWC reorder instruction. When the number of lanes with a matching key exceeds a threshold and after identifying at least this number of lanes to swap, the control circuit swaps continuation state information (live active state information) between lanes of an emitting wave that do not have a matching key and lanes of contributing waves that do have a matching key. The resulting (reordered) emitting wave executes more efficiently, which increases performance.Type: ApplicationFiled: September 25, 2024Publication date: April 24, 2025Inventors: Sean Keely, Kellie Marks
-
Publication number: 20250111586Abstract: A technique for performing ray tracing operations is provided. The technique includes for a ray being tested for intersection with geometry associated with a bounding volume hierarchy, traversing to a pre-filtering node that includes information for filtering out triangles of a leaf node of the bounding volume hierarchy; evaluating a quantized ray that corresponds to the ray against quantized triangles of the pre-filtering node to filter out one or more triangles of the leaf node from consideration; and testing the triangles of the leaf node that are not filtered out and not testing the triangles of the leaf node that are filtered out.Type: ApplicationFiled: September 29, 2023Publication date: April 3, 2025Applicants: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Michael John Livesley, David William John Pankratz, Sean Keely, Andrew Erin Kensler
-
Publication number: 20250111587Abstract: Devices and methods for rendering objects using ray tracing are provided which include during a build time: generating an accelerated hierarchy structure comprising data representing an approximate volume bounding a group of geometric shapes representing the objects in the scene and data representing the geometric shapes; and generating additional data used to transform rays, to be cast in the scene, from a high precision space to a low precision space; and during a render time occurring after the build time: performing ray intersection tests, using the additional data generated during the build time, for the rays in the scene; and rendering the scene based on the ray intersection tests. Because the additional data is generated prior to render time, the additional data can be used to perform the ray intersection testing more efficiently.Type: ApplicationFiled: September 29, 2023Publication date: April 3, 2025Applicants: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Andrew Erin Kensler, Sean Keely, Michael John Livesley, David William John Pankratz
-
Publication number: 20250068429Abstract: A Streaming Wave Coalescer (SWC) circuit stores a first set of state values associated with a first subset of threads of a first wave in a bin based on each of the first subset of threads including a first set of instructions to be executed. A second set of state values associated with a second subset of threads of a second wave is stored in the bin based on each of the second subset of threads including the first set of instructions to be executed and based on the first wave and the second wave both being associated with a hard key. A third wave is formed from the threads of the first subset and the second subset and is emitted for execution. As a result of reorganizing the threads and reconstituting a different wave, thread divergence of waves sent for execution is reduced.Type: ApplicationFiled: December 12, 2023Publication date: February 27, 2025Inventors: John Stephen Junkins, Christopher J. Brennan, Ian Richard Beaumont, Kellie Marks, Matthaeus G. Chajdas, Max Oberberger, Michael John Bedy, Michael Mantor, Sean Keely
-
Publication number: 20240419358Abstract: A method for hardware management of DMA transfer commands includes accessing, by a first DMA engine, a DMA transfer command and determining a first portion of a data transfer requested by the DMA transfer command. Transfer of a first portion of the data transfer by the first DMA engine is initiated based at least in part on the DMA transfer command. Similarly, a second portion of the data transfer by a second DMA engine is initiated based at least in part on the DMA transfer command. After transferring the first portion and the second portion of the data transfer, an indication is generated that signals completion of the data transfer requested by the DMA transfer command.Type: ApplicationFiled: May 16, 2024Publication date: December 19, 2024Inventors: Joseph L. GREATHOUSE, Sean KEELY, Alan D. SMITH, Anthony ASARO, Ling-Ling WANG, Milind N NEMLEKAR, Hari THANGIRALA, Felix KUEHLING
-
Publication number: 20240221284Abstract: A technique for performing ray tracing operations is provided. The technique includes determining error bounds for a rotation operation for a ray; selecting a technique for determining whether the ray intersects a bounding box based on the error bounds; and determining whether the ray hits the bounding box based on the selected technique.Type: ApplicationFiled: December 29, 2022Publication date: July 4, 2024Applicant: Advanced Micro Devices, Inc.Inventors: Sean Keely, Daniel James Skinner
-
Patent number: 11995351Abstract: A method for hardware management of DMA transfer commands includes accessing, by a first DMA engine, a DMA transfer command and determining a first portion of a data transfer requested by the DMA transfer command. Transfer of a first portion of the data transfer by the first DMA engine is initiated based at least in part on the DMA transfer command. Similarly, a second portion of the data transfer by a second DMA engine is initiated based at least in part on the DMA transfer command. After transferring the first portion and the second portion of the data transfer, an indication is generated that signals completion of the data transfer requested by the DMA transfer command.Type: GrantFiled: November 1, 2021Date of Patent: May 28, 2024Assignees: Advanced Micro Devices, Inc., ATI TECHNOLOGIES ULCInventors: Joseph L Greathouse, Sean Keely, Alan D. Smith, Anthony Asaro, Ling-Ling Wang, Milind N Nemlekar, Hari Thangirala, Felix Kuehling
-
Publication number: 20230195664Abstract: A method for software management of DMA transfer commands includes receiving a DMA transfer command instructing a data transfer by a first processor device. Based at least in part on a determination of runtime system resource availability, a device different from the first processor device is assigned to assist in transfer of at least a first portion of the data transfer. In some embodiments, the DMA transfer command instructs the first processor device to write a copy of data to a third processor device. Software analyzes network bus congestion at a shared communications bus and initiates DMA transfer via a multi-hop communications path to bypass the congested network bus.Type: ApplicationFiled: December 22, 2021Publication date: June 22, 2023Inventors: Sean KEELY, Joseph L. GREATHOUSE, Hari THANGIRALA, Alan D. SMITH, Milind N. NEMLEKAR
-
Publication number: 20230132931Abstract: A method for hardware management of DMA transfer commands includes accessing, by a first DMA engine, a DMA transfer command and determining a first portion of a data transfer requested by the DMA transfer command. Transfer of a first portion of the data transfer by the first DMA engine is initiated based at least in part on the DMA transfer command. Similarly, a second portion of the data transfer by a second DMA engine is initiated based at least in part on the DMA transfer command. After transferring the first portion and the second portion of the data transfer, an indication is generated that signals completion of the data transfer requested by the DMA transfer command.Type: ApplicationFiled: November 1, 2021Publication date: May 4, 2023Inventors: Joseph L. Greathouse, Sean Keely, Alan D. Smith, Anthony Asaro, Ling-Ling Wang, Milind N. Nemlekar, Hari Thangirala, Felix Kuehling
-
Publication number: 20130328876Abstract: Apparatuses, computer readable mediums, and methods of building a k-dimensional tree (kd-tree) are disclosed. The method may include a first processor, for example a graphics processing unit (GPU), selecting a node to split in a depth first manner. The method may include the GPU splitting based on a split plane a node into a left node and a right node. The GPU may assign the left (right) node to the GPU when a number of polygons associated with the left (right) node is above a threshold and otherwise assign the left node to a second processor, for example a central processing unit (CPU). The CPU may build the kd-tree in a depth first manner. The GPU (CPU) may select a next node to split based on a last node assigned to the GPU (CPU) or by selecting a node that is currently in a local memory of the GPU (CPU).Type: ApplicationFiled: June 7, 2013Publication date: December 12, 2013Inventor: Sean Keely