Patents by Inventor Steven J. Clohset

Steven J. Clohset 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: 10255105
    Abstract: Methods and architectures for coordinating the operation of a plurality of processing units in a parallel computing architecture wherein each processing unit is configured to process work elements of dynamically generated work groups using a resource (e.g. memory) associated with the work group. The method includes requesting a resource (associated with one of the work groups) from a main storage for use by a first processing unit which causes the resource to be stored in a temporary storage (e.g.
    Type: Grant
    Filed: April 11, 2017
    Date of Patent: April 9, 2019
    Assignee: Imagination Technologies Limited
    Inventors: Steven J. Clohset, Luke T. Peterson, Joseph M. Richards
  • Patent number: 10217266
    Abstract: A graphics processor architecture provides for scan conversion and ray tracing approaches to visible surface determination as concurrent and separate processes. Surfaces can be identified for shading by scan conversion and ray tracing. Data produced by each can be normalized, so that instances of shaders, being executed on a unified shading computation resource, can shade surfaces originating from both ray tracing and rasterization. Such resource also may execute geometry shaders. The shaders can emit rays to be tested for intersection by the ray tracing process. Such shaders can complete, without waiting for those emitted rays to complete. Where scan conversion operates on tiles of 2-D screen pixels, the ray tracing can be tile aware, and controlled to prioritize testing of rays based on scan conversion status. Ray population can be controlled by feedback to any of scan conversion, and shading.
    Type: Grant
    Filed: June 6, 2016
    Date of Patent: February 26, 2019
    Assignee: Imagination Technologies Limited
    Inventors: John W. Howson, Luke Tilman Peterson, Steven J. Clohset
  • Publication number: 20190019326
    Abstract: Methods and ray tracing units are provided for performing intersection testing for use in rendering an image of a 3-D scene. A hierarchical acceleration structure may be traversed by: traversing one or more upper levels of nodes of the hierarchical acceleration structure according to a first traversal technique, the first traversal technique being a depth-first traversal technique; and traversing one or more lower levels of nodes of the hierarchical acceleration structure according to a second traversal technique, the second traversal technique not being a depth-first traversal technique. Results of traversing the hierarchical acceleration structure are used for rendering the image of the 3-D scene. The upper levels of the acceleration structure may be defined according to a spatial subdivision structure, whereas the lower levels of the acceleration structure may be defined according to a bounding volume structure.
    Type: Application
    Filed: July 9, 2018
    Publication date: January 17, 2019
    Inventors: Gregory Clark, John W. Howson, Justin DeCell, Steven J. Clohset
  • Publication number: 20190019325
    Abstract: Methods and ray tracing units are provided for performing intersection testing for use in rendering an image of a 3D scene. A hierarchical acceleration structure may be traversed by: traversing one or more upper levels of nodes of the hierarchical acceleration structure according to a first traversal technique, the first traversal technique being a depth-first traversal technique; and traversing one or more lower levels of nodes of the hierarchical acceleration structure according to a second traversal technique, the second traversal technique not being a depth-first traversal technique. Results of traversing the hierarchical acceleration structure are used for rendering the image of the 3D scene. The upper levels of the acceleration structure may be defined according to a spatial subdivision structure, whereas the lower levels of the acceleration structure may be defined according to a bounding volume structure.
    Type: Application
    Filed: July 13, 2017
    Publication date: January 17, 2019
    Inventors: Gregory Clark, John W. Howson, Justin DeCell, Steven J. Clohset
  • Publication number: 20180293099
    Abstract: Methods and architectures for coordinating the operation of a plurality of processing units in a parallel computing architecture wherein each processing unit is configured to process work elements of dynamically generated work groups using a resource (e.g. memory) associated with the work group. The method includes requesting a resource (associated with one of the work groups) from a main storage for use by a first processing unit which causes the resource to be stored in a temporary storage (e.g.
    Type: Application
    Filed: April 11, 2017
    Publication date: October 11, 2018
    Inventors: Steven J. Clohset, Luke T. Peterson, Joseph M. Richards
  • Publication number: 20180061112
    Abstract: Ray tracing systems have computation units (“RACs”) adapted to perform ray tracing operations (e.g. intersection testing). There are multiple RACs. A centralized packet unit controls the allocation and testing of rays by the RACs. This allows RACs to be implemented without Content Addressable Memories (CAMs) which are expensive to implement, but the functionality of CAMs can still be achieved by implemented them in the centralized controller.
    Type: Application
    Filed: November 1, 2017
    Publication date: March 1, 2018
    Inventors: Joseph M. Richards, Luke T. Peterson, Steven J. Clohset
  • Patent number: 9830734
    Abstract: Ray tracing systems have computation units (“RACs”) adapted to perform ray tracing operations (e.g. intersection testing). There are multiple RACs. A centralized packet unit controls the allocation and testing of rays by the RACs. This allows RACs to be implemented without Content Addressable Memories (CAMs) which are expensive to implement, but the functionality of CAMs can still be achieved by implemented them in the centralized controller.
    Type: Grant
    Filed: March 7, 2016
    Date of Patent: November 28, 2017
    Assignee: Imagination Technologies Limited
    Inventors: Joseph M. Richards, Luke T. Peterson, Steven J. Clohset
  • Publication number: 20170309059
    Abstract: A ray tracing unit is implemented in a graphics rendering system. The ray tracing unit comprises: processing logic configured to perform ray tracing operations on rays, a dedicated ray memory coupled to the processing logic and configured to store ray data for rays to be processed by the processing logic, an interface to a memory system, and control logic configured to manage allocation of ray data to either the dedicated ray memory or the memory system. Core ray data for rays to be processed by the processing logic is stored in the dedicated ray memory, and at least some non-core ray data for the rays is stored in the memory system. This allows core ray data for many rays to be stored in the dedicated ray memory without the size of the dedicated ray memory becoming too wasteful when the ray tracing unit is not in use.
    Type: Application
    Filed: April 26, 2016
    Publication date: October 26, 2017
    Inventors: John W. Howson, Steven J. Clohset, Ali Rabbani
  • Publication number: 20170270146
    Abstract: A hierarchy is a multi-level linked structure of nodes, wherein the hierarchy represents data relating to a set of one or more items to be processed. Where there are multiple input hierarchies, it may improve the efficiency of the processing of the items to merge the input hierarchies to form a merged hierarchy. The hierarchies are merged by identifying two or more sub-hierarchies within the input hierarchies which are to be merged, and determining one or more nodes of the merged hierarchy which reference nodes of the identified sub-hierarchies. The determined nodes of the merged hierarchy are stored and indications of the references between the determined nodes of the merged hierarchy and the referenced nodes of the identified sub-hierarchies are also stored. In this way, the merged hierarchy is formed for use in processing the items.
    Type: Application
    Filed: March 21, 2017
    Publication date: September 21, 2017
    Inventors: Matthew Harrison, John W. Howson, Luke T. Peterson, Steven J. Clohset
  • Publication number: 20170169602
    Abstract: Foveated rendering for rendering an image uses a ray tracing technique to process graphics data for a region of interest of the image, and a rasterisation technique is used to process graphics data for other regions of the image. A rendered image can be formed using the processed graphics data for the region of interest of the image and the processed graphics data for the other regions of the image. The region of interest may correspond to a foveal region of the image. Ray tracing naturally provides high detail and photo-realistic rendering, which human vision is particularly sensitive to in the foveal region; whereas rasterisation techniques are suited for providing temporal smoothing and anti-aliasing in a simple manner, and is therefore suited for use in the regions of the image that a user will see in the periphery of their vision.
    Type: Application
    Filed: December 8, 2016
    Publication date: June 15, 2017
    Inventors: Steven Blackmon, Luke T. Peterson, Cuneyt Ozdas, Steven J. Clohset
  • Publication number: 20170011544
    Abstract: In an aspect, an update unit can evaluate condition(s) in an update request and update one or more memory locations based on the condition evaluation. The update unit can operate atomically to determine whether to effect the update and to make the update. Updates can include one or more of incrementing and swapping values. An update request may specify one of a pre-determined set of update types. Some update types may be conditional and others unconditional. The update unit can be coupled to receive update requests from a plurality of computation units. The computation units may not have privileges to directly generate write requests to be effected on at least some of the locations in memory. The computation units can be fixed function circuitry operating on inputs received from programmable computation elements. The update unit may include a buffer to hold received update requests.
    Type: Application
    Filed: September 26, 2016
    Publication date: January 12, 2017
    Inventors: Steven J. Clohset, Jason R. Redgrave, Luke T. Peterson
  • Publication number: 20160335791
    Abstract: In some aspects, systems and methods provide for forming groupings of a plurality of independently-specified computation workloads, such as graphics processing workloads, and in a specific example, ray tracing workloads. The workloads include a scheduling key, which is one basis on which the groupings can be formed. Workloads grouped together can all execute from the same source of instructions, on one or more different private data elements. Such workloads can recursively instantiate other workloads that reference the same private data elements. In some examples, the scheduling key can be used to identify a data element to be used by all the workloads of a grouping. Memory conflicts to private data elements are handled through scheduling of non-conflicted workloads or specific instructions and/or deferring conflicted workloads instead of locking memory locations.
    Type: Application
    Filed: July 26, 2016
    Publication date: November 17, 2016
    Inventors: Luke T. Peterson, James A. McCombe, Steven J. Clohset, Jason R. Redgrave
  • Patent number: 9466091
    Abstract: In an aspect, an update unit can evaluate condition(s) in an update request and update one or more memory locations based on the condition evaluation. The update unit can operate atomically to determine whether to effect the update and to make the update. Updates can include one or more of incrementing and swapping values. An update request may specify one of a pre-determined set of update types. Some update types may be conditional and others unconditional. The update unit can be coupled to receive update requests from a plurality of computation units. The computation units may not have privileges to directly generate write requests to be effected on at least some of the locations in memory. The computation units can be fixed function circuitry operating on inputs received from programmable computation elements. The update unit may include a buffer to hold received update requests.
    Type: Grant
    Filed: September 23, 2014
    Date of Patent: October 11, 2016
    Assignee: Imagination Technologies Limited
    Inventors: Steven J Clohset, Jason R. Redgrave, Luke T Peterson
  • Publication number: 20160284118
    Abstract: A graphics processor architecture provides for scan conversion and ray tracing approaches to visible surface determination as concurrent and separate processes. Surfaces can be identified for shading by scan conversion and ray tracing. Data produced by each can be normalized, so that instances of shaders, being executed on a unified shading computation resource, can shade surfaces originating from both ray tracing and rasterization. Such resource also may execute geometry shaders. The shaders can emit rays to be tested for intersection by the ray tracing process. Such shaders can complete, without waiting for those emitted rays to complete. Where scan conversion operates on tiles of 2-D screen pixels, the ray tracing can be tile aware, and controlled to prioritize testing of rays based on scan conversion status. Ray population can be controlled by feedback to any of scan conversion, and shading.
    Type: Application
    Filed: June 6, 2016
    Publication date: September 29, 2016
    Inventors: John W. Howson, Luke Tilman Peterson, Steven J. Clohset
  • Publication number: 20160260193
    Abstract: Ray tracing systems have computation units (“RACs”) adapted to perform ray tracing operations (e.g. intersection testing). There are multiple RACs. A centralized packet unit controls the allocation and testing of rays by the RACs. This allows RACs to be implemented without Content Addressable Memories (CAMs) which are expensive to implement, but the functionality of CAMs can still be achieved by implemented them in the centralized controller.
    Type: Application
    Filed: March 7, 2016
    Publication date: September 8, 2016
    Inventors: Joseph M. Richards, Luke T. Peterson, Steven J. Clohset
  • Patent number: 9430811
    Abstract: In some aspects, systems and methods provide for forming groupings of a plurality of independently-specified computation workloads, such as graphics processing workloads, and in a specific example, ray tracing workloads. The workloads include a scheduling key, which is one basis on which the groupings can be formed. Workloads grouped together can all execute from the same source of instructions, on one or more different private data elements. Such workloads can recursively instantiate other workloads that reference the same private data elements. In some examples, the scheduling key can be used to identify a data element to be used by all the workloads of a grouping. Memory conflicts to private data elements are handled through scheduling of non-conflicted workloads or specific instructions and/or deferring conflicted workloads instead of locking memory locations.
    Type: Grant
    Filed: August 4, 2015
    Date of Patent: August 30, 2016
    Assignee: Imagination Technologies Limited
    Inventors: Luke T. Peterson, James A. McCombe, Steven J. Clohset, Jason R. Redgrave
  • Publication number: 20160063753
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiporcessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Application
    Filed: November 10, 2015
    Publication date: March 3, 2016
    Inventors: Luke T. Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J. Clohset
  • Publication number: 20150339798
    Abstract: In some aspects, systems and methods provide for forming groupings of a plurality of independently-specified computation workloads, such as graphics processing workloads, and in a specific example, ray tracing workloads. The workloads include a scheduling key, which is one basis on which the groupings can be formed. Workloads grouped together can all execute from the same source of instructions, on one or more different private data elements. Such workloads can recursively instantiate other workloads that reference the same private data elements. In some examples, the scheduling key can be used to identify a data element to be used by all the workloads of a grouping. Memory conflicts to private data elements are handled through scheduling of non-conflicted workloads or specific instructions and/or deferring conflicted workloads instead of locking memory locations.
    Type: Application
    Filed: August 4, 2015
    Publication date: November 26, 2015
    Inventors: Luke T. Peterson, James A. McCombe, Steven J. Clohset, Jason R. Redgrave
  • Patent number: 9183668
    Abstract: Aspects comprise systems implementing 3-D graphics processing functionality in a multiprocessing system. Control flow structures are used in scheduling instances of computation in the multiprocessing system, where different points in the control flow structure serve as points where deferral of some instances of computation can be performed in favor of scheduling other instances of computation. In some examples, the control flow structure identifies particular tasks, such as intersection testing of a particular portion of an acceleration structure, and a particular element of shading code. In some examples, the aspects are used in 3-D graphics processing systems that can perform ray tracing based rendering.
    Type: Grant
    Filed: December 28, 2013
    Date of Patent: November 10, 2015
    Assignee: Imagination Technologies Limited
    Inventors: Luke T Peterson, James Alexander McCombe, Ryan R. Salsbury, Steven J Clohset
  • Patent number: 9098918
    Abstract: In some aspects, systems and methods provide for forming groupings of a plurality of independently-specified computation workloads, such as graphics processing workloads, and in a specific example, ray tracing workloads. The workloads include a scheduling key, which is one basis on which the groupings can be formed. Workloads grouped together can all execute from the same source of instructions, on one or more different private data elements. Such workloads can recursively instantiate other workloads that reference the same private data elements. In some examples, the scheduling key can be used to identify a data element to be used by all the workloads of a grouping. Memory conflicts to private data elements are handled through scheduling of non-conflicted workloads or specific instructions and/or deferring conflicted workloads instead of locking memory locations.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: August 4, 2015
    Assignee: Imagination Technologies Limited
    Inventors: Luke T Peterson, James A McCombe, Steven J Clohset, Jason R Redgrave