Patents by Inventor Daniel Barnard

Daniel Barnard 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).

  • Publication number: 20240144582
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system makes use of a serial-mode ray intersection process, in which, when a ray intersects a bounding volume, a limited number of new ray requests are generated.
    Type: Application
    Filed: January 8, 2024
    Publication date: May 2, 2024
    Inventor: Daniel Barnard
  • Patent number: 11887244
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements for intersection testing. The system defines and updates progress information that identifies, for a ray, leaf nodes of the hierarchical acceleration structure which identify elements for which it is not yet known whether or not the ray interests.
    Type: Grant
    Filed: December 10, 2021
    Date of Patent: January 30, 2024
    Assignee: Imagination Technologies Limited
    Inventor: Daniel Barnard
  • Patent number: 11869133
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system makes use of a serial-mode ray intersection process, in which, when a ray intersects a bounding volume, a limited number of new ray requests are generated.
    Type: Grant
    Filed: September 30, 2021
    Date of Patent: January 9, 2024
    Assignee: Imagination Technologies Limited
    Inventor: Daniel Barnard
  • Patent number: 11868426
    Abstract: Hardware implementations of, and methods for processing, a convolution layer of a DNN that comprise a plurality of convolution engines wherein the input data and weights are provided to the convolution engines in an order that allows input data and weights read from memory to be used in at least two filter-window calculations performed either by the same convolution engine in successive cycles or by different convolution engines in the same cycle. For example, in some hardware implementations of a convolution layer the convolution engines are configured to process the same weights but different input data each cycle, but the input data for each convolution engine remains the same for at least two cycles so that the convolution engines use the same input data in at least two consecutive cycles.
    Type: Grant
    Filed: October 26, 2021
    Date of Patent: January 9, 2024
    Assignee: Imagination Technologies Limited
    Inventors: Chris Martin, David Hough, Clifford Gibson, Daniel Barnard
  • Patent number: 11836846
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system makes use of a serial-mode ray intersection process, in which, when a ray intersects a bounding volume, a limited number of new ray requests are generated.
    Type: Grant
    Filed: September 30, 2021
    Date of Patent: December 5, 2023
    Assignee: Imagination Technologies Limited
    Inventor: Daniel Barnard
  • Publication number: 20230334750
    Abstract: Shader processing units for a graphics processing unit that are configured to execute one or more ray tracing shaders that process ray data associated with one or more rays. The ray data for a ray includes a plurality of ray data elements. The shader processing unit comprises storage, and load logic. The load logic is configured to receive, as part of a ray tracing shader, a ray load instruction that comprises: (i) information identifying a load group of a plurality of load groups, each load group of the plurality of load groups comprising one or more ray data elements of the plurality of ray data elements, and (ii) information identifying one or more ray data elements of the identified load group to be retrieved from an external unit. In response to the ray load instruction, the load logic sends one or more load requests to the external unit which cause the external unit to retrieve the identified ray data elements of the identified load group for one or more rays.
    Type: Application
    Filed: March 26, 2023
    Publication date: October 19, 2023
    Inventor: Daniel Barnard
  • Publication number: 20230334758
    Abstract: Shader processing units for a graphics processing unit that are configured to execute one or more ray tracing shaders that generate ray data associated with one or more rays. The ray data for a ray includes a plurality of ray data elements. The shader processing unit comprises local storage, and store logic. The store logic is configured to receive, as part of a ray tracing shader, a ray store instruction that comprises: (i) information identifying a store group of a plurality of store groups, each store group of the plurality of store groups comprising one or more ray data elements of the plurality of ray data elements, and (ii) information identifying one or more ray data elements of the identified store group to be stored in an external unit). In response to receiving the ray store instruction, the store logic retrieves the identified ray data elements for one or more rays from the storage.
    Type: Application
    Filed: March 26, 2023
    Publication date: October 19, 2023
    Inventor: Daniel Barnard
  • Patent number: 11721060
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system iteratively obtains ray requests, each of which identifies a ray and a node against which the ray is to be tested, and performs intersection testing based on the ray requests. The number of ray requests obtained in each iteration reduces responsive to an amount of memory occupied by information relating to the rays (undergoing intersection testing) increasing.
    Type: Grant
    Filed: September 30, 2021
    Date of Patent: August 8, 2023
    Assignee: Imagination Technologies Limited
    Inventor: Daniel Barnard
  • Publication number: 20230023323
    Abstract: A ray tracing unit and method for processing a ray in a ray tracing system performs intersection testing for the ray by performing one or more intersection testing iterations. Each intersection testing iteration includes: (i) traversing an acceleration structure to identify the nearest intersection of the ray with a primitive that has not been identified as the nearest intersection in any previous intersection testing iterations for the ray; and (ii) if, based on a characteristic of the primitive, a traverse shader is to be executed in respect of the identified intersection: executing the traverse shader in respect of the identified intersection; and if the execution of the traverse shader determines that the ray does not intersect the primitive at the identified intersection, causing another intersection testing iteration to be performed. When the intersection testing for the ray is complete, an output shader is executed to process a result of the intersection testing for the ray.
    Type: Application
    Filed: June 23, 2022
    Publication date: January 26, 2023
    Inventors: Daniel Barnard, Mike Livesley, Gregory Clark
  • Publication number: 20220383067
    Abstract: A method for providing input data for a layer of a convolutional neural network “CNN”, the method comprising: receiving input data comprising input data values to be processed in a layer of the CNN; determining addresses in banked memory of a buffer in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer; and storing the received input data values at the determined addresses in the buffer for retrieval for processing in the layer.
    Type: Application
    Filed: July 19, 2022
    Publication date: December 1, 2022
    Inventors: Daniel Barnard, Clifford Gibson, Colin McQuillan
  • Patent number: 11423285
    Abstract: Input data for a layer of a convolutional neural network (CNN) is provided by receiving input data values to be processed in a layer of the CNN. Addresses in banked memory of a buffer are determined in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer. The received input data values are stored at the determined addresses in the buffer for retrieval for processing in the layer.
    Type: Grant
    Filed: August 12, 2021
    Date of Patent: August 23, 2022
    Assignee: Imagination Technologies Limited
    Inventors: Daniel Barnard, Clifford Gibson, Colin McQuillan
  • Publication number: 20220254092
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements for intersection testing. The system defines and updates progress information that identifies, for a ray, leaf nodes of the hierarchical acceleration structure which identify elements for which it is not yet known whether or not the ray interests.
    Type: Application
    Filed: December 10, 2021
    Publication date: August 11, 2022
    Inventor: Daniel Barnard
  • Publication number: 20220114780
    Abstract: Ray tracing systems and methods are described for processing rays. A parent shader is executed for a ray. The parent shader includes a shader recursion instruction which invokes a child shader. The execution of the parent shader for the ray is suspended. Intermediate data for the parent shader is stored in a heap of memory, wherein the intermediate data comprises state data and payload data. Storing intermediate data comprises allocating a first set of registers in the heap of memory for storing payload data, and allocating a second set of registers in the heap of memory for storing state data. When the parent shader is ready to resume, intermediate data for the parent shader is read from the heap of memory, and the execution of the parent shader for the ray is resumed.
    Type: Application
    Filed: September 24, 2021
    Publication date: April 14, 2022
    Inventors: Daniel Barnard, Alistair Goudie
  • Publication number: 20220101591
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system makes use of a serial-mode ray intersection process, in which, when a ray intersects a bounding volume, a limited number of new ray requests are generated.
    Type: Application
    Filed: September 30, 2021
    Publication date: March 31, 2022
    Inventor: Daniel Barnard
  • Publication number: 20220101592
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system iteratively obtains ray requests, each of which identifies a ray and a node against which the ray is to be tested, and performs intersection testing based on the ray requests. The number of ray requests obtained in each iteration reduces responsive to an amount of memory occupied by information relating to the rays (undergoing intersection testing) increasing.
    Type: Application
    Filed: September 30, 2021
    Publication date: March 31, 2022
    Inventor: Daniel Barnard
  • Publication number: 20220101590
    Abstract: A system and method for performing intersection testing of rays in a ray tracing system. The ray tracing system uses a hierarchical acceleration structure comprising a plurality of nodes, each identifying one or more elements able to be intersected by a ray. The system makes use of a serial-mode ray intersection process, in which, when a ray intersects a bounding volume, a limited number of new ray requests are generated.
    Type: Application
    Filed: September 30, 2021
    Publication date: March 31, 2022
    Inventor: Daniel Barnard
  • Publication number: 20220043886
    Abstract: Hardware implementations of, and methods for processing, a convolution layer of a DNN that comprise a plurality of convolution engines wherein the input data and weights are provided to the convolution engines in an order that allows input data and weights read from memory to be used in at least two filter-window calculations performed either by the same convolution engine in successive cycles or by different convolution engines in the same cycle. For example, in some hardware implementations of a convolution layer the convolution engines are configured to process the same weights but different input data each cycle, but the input data for each convolution engine remains the same for at least two cycles so that the convolution engines use the same input data in at least two consecutive cycles.
    Type: Application
    Filed: October 26, 2021
    Publication date: February 10, 2022
    Inventors: Chris Martin, David Hough, Clifford Gibson, Daniel Barnard
  • Publication number: 20210390368
    Abstract: A method for providing input data for a layer of a convolutional neural network “CNN”, the method comprising: receiving input data comprising input data values to be processed in a layer of the CNN; determining addresses in banked memory of a buffer in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer; and storing the received input data values at the determined addresses in the buffer for retrieval for processing in the layer.
    Type: Application
    Filed: August 12, 2021
    Publication date: December 16, 2021
    Inventors: Daniel Barnard, Clifford Gibson, Colin McQuillan
  • Patent number: 11157592
    Abstract: Hardware implementations of, and methods for processing, a convolution layer of a DNN that comprise a plurality of convolution engines wherein the input data and weights are provided to the convolution engines in an order that allows input data and weights read from memory to be used in at least two filter-window calculations performed either by the same convolution engine in successive cycles or by different convolution engines in the same cycle. For example, in some hardware implementations of a convolution layer the convolution engines are configured to process the same weights but different input data each cycle, but the input data for each convolution engine remains the same for at least two cycles so that the convolution engines use the same input data in at least two consecutive cycles.
    Type: Grant
    Filed: February 2, 2021
    Date of Patent: October 26, 2021
    Assignee: Imagination Technologies Limited
    Inventors: Chris Martin, David Hough, Clifford Gibson, Daniel Barnard
  • Patent number: 11100386
    Abstract: Data for layers of a convolutional neural network (CNN) is provided by receiving input data values to be processed in a layer of the CNN and determining addresses in banked memory of a buffer in which the received data values are to be stored based upon format data indicating a format parameter of the input data in the layer and indicating a format parameter of a filter which is to be used to process the input data in the layer. The received input data values are then stored at the determined addresses in the buffer for retrieval for processing in the layer.
    Type: Grant
    Filed: October 6, 2017
    Date of Patent: August 24, 2021
    Assignee: Imagination Technologies Limited
    Inventors: Daniel Barnard, Clifford Gibson, Colin McQuillan