Patents by Inventor Martin Stich

Martin Stich 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: 20240095083
    Abstract: Approaches for addressing issues associated with processing workloads that exhibit high divergence in execution and data access are provided. A plurality of workload items to be processed at least partially in parallel may be identified. Coherence information associated with the plurality of workload items may be determined. The plurality of workload items may be enqueued in a segmented queue. The plurality of workload items may be sorted based at least on a similarity of the coherence information. The sorted plurality of workload items may be stored to the queue. Using a set of processing units, the workload items in the queue may be processed at least partially in parallel according to an order of the sorting.
    Type: Application
    Filed: February 27, 2023
    Publication date: March 21, 2024
    Inventors: Martin Stich, Rasmus Barringer, Robert Toth
  • Publication number: 20230360321
    Abstract: In various examples, shader bindings may be recorded in a shader binding table that includes shader records. Geometry of a 3D scene may be instantiated using object instances, and each may be associated with a respective set of the shader records using a location identifier of the set of shader records in memory. The set of shader records may represent shader bindings for an object instance under various predefined conditions. One or more of these predefined conditions may be implicit in the way the shader records are arranged in memory (e.g., indexed by ray type, by sub-geometry, etc.). For example, a section selector value (e.g., a section index) may be computed to locate and select a shader record based at least in part on a result of a ray tracing query (e.g., what sub-geometry was hit, what ray type was traced, etc.).
    Type: Application
    Filed: July 17, 2023
    Publication date: November 9, 2023
    Inventors: Martin Stich, Ignacio Llamas, Steven Parker
  • Publication number: 20230305957
    Abstract: Various embodiments include techniques for managing cache memory in a computing system. The computing system includes a sectored cache memory that provides a mechanism for software applications to directly invalidate data items stored in the cache memory on a sector-by-sector basis, where a sector is smaller than a cache line. When all sectors in a cache line have been invalidated, the cache line is implicitly invalidated, freeing the cache line to be reallocated for other purposes. In cases where the data items to be invalidated can be aligned to sector boundaries, the disclosed techniques effectively use status indicators in the cache tag memory to track which sectors, and corresponding data items, have been invalidated by the software application. Thus, the disclosed techniques thereby enable a low-overhead solution for invalidating individual data items that are smaller than a cache line without additional tracking data structures or consuming additional memory transfer bandwidth.
    Type: Application
    Filed: March 23, 2022
    Publication date: September 28, 2023
    Inventors: Michael FETTERMAN, Shirish GADRE, Steven James HEINRICH, Martin STICH, Liang YIN
  • Patent number: 11727632
    Abstract: In various examples, shader bindings may be recorded in a shader binding table that includes shader records. Geometry of a 3D scene may be instantiated using object instances, and each may be associated with a respective set of the shader records using a location identifier of the set of shader records in memory. The set of shader records may represent shader bindings for an object instance under various predefined conditions. One or more of these predefined conditions may be implicit in the way the shader records are arranged in memory (e.g., indexed by ray type, by sub-geometry, etc.). For example, a section selector value (e.g., a section index) may be computed to locate and select a shader record based at least in part on a result of a ray tracing query (e.g., what sub-geometry was hit, what ray type was traced, etc.).
    Type: Grant
    Filed: July 15, 2021
    Date of Patent: August 15, 2023
    Assignee: NVIDIA Corporation
    Inventors: Martin Stich, Ignacio Llamas, Steven Parker
  • Patent number: 11474710
    Abstract: One aspect of the current disclosure provides a method for utilizing a plurality of memories associated with a plurality of devices in a computer system. The method includes: receiving an application-specific data set for executing a ray tracing application employing the devices; determining whether the data set is fully replicable in each memory; when the data set is not fully replicable in any of the memories, determining a maximum amount of the data set that is replicable in each memory while distributing a remaining amount of the data set across the memories; and identifying, based on application-specific information of the ray tracing application, a first subsection of the data set that corresponds to the maximum amount of the data set and a second subsection of the data set that corresponds to the remaining amount of the data set, wherein the first subsection is accessed more frequently than the second subsection.
    Type: Grant
    Filed: April 5, 2021
    Date of Patent: October 18, 2022
    Assignee: NVIDIA Corporation
    Inventors: Steve Parker, Martin Stich, Konstantin Vostryakov
  • Publication number: 20210343072
    Abstract: In various examples, shader bindings may be recorded in a shader binding table that includes shader records. Geometry of a 3D scene may be instantiated using object instances, and each may be associated with a respective set of the shader records using a location identifier of the set of shader records in memory. The set of shader records may represent shader bindings for an object instance under various predefined conditions. One or more of these predefined conditions may be implicit in the way the shader records are arranged in memory (e.g., indexed by ray type, by sub-geometry, etc.). For example, a section selector value (e.g., a section index) may be computed to locate and select a shader record based at least in part on a result of a ray tracing query (e.g., what sub-geometry was hit, what ray type was traced, etc.).
    Type: Application
    Filed: July 15, 2021
    Publication date: November 4, 2021
    Inventors: Martin Stich, Ignacio Llamas, Steven Parker
  • Publication number: 20210232325
    Abstract: One aspect of the current disclosure provides a method for utilizing a plurality of memories associated with a plurality of devices in a computer system. The method includes: receiving an application-specific data set for executing a ray tracing application employing the devices; determining whether the data set is fully replicable in each memory; when the data set is not fully replicable in any of the memories, determining a maximum amount of the data set that is replicable in each memory while distributing a remaining amount of the data set across the memories; and identifying, based on application-specific information of the ray tracing application, a first subsection of the data set that corresponds to the maximum amount of the data set and a second subsection of the data set that corresponds to the remaining amount of the data set, wherein the first subsection is accessed more frequently than the second subsection.
    Type: Application
    Filed: April 5, 2021
    Publication date: July 29, 2021
    Inventors: Steve Parker, Martin Stich, Konstantin Vostryakov
  • Patent number: 11069129
    Abstract: In various examples, shader bindings may be recorded in a shader binding table that includes shader records. Geometry of a 3D scene may be instantiated using object instances, and each may be associated with a respective set of the shader records using a location identifier of the set of shader records in memory. The set of shader records may represent shader bindings for an object instance under various predefined conditions. One or more of these predefined conditions may be implicit in the way the shader records are arranged in memory (e.g., indexed by ray type, by sub-geometry, etc.). For example, a section selector value (e.g., a section index) may be computed to locate and select a shader record based at least in part on a result of a ray tracing query (e.g., what sub-geometry was hit, what ray type was traced, etc.).
    Type: Grant
    Filed: April 5, 2019
    Date of Patent: July 20, 2021
    Assignee: NVIDIA Corporation
    Inventors: Martin Stich, Ignacio Llamas, Steven Parker
  • Patent number: 10996865
    Abstract: One aspect of the current disclosure provides a method for utilizing a plurality of memories associated with a plurality of devices in a computer system. The method includes: 1) receiving a data set for executing an application employing the devices; 2) determining whether the data set is larger than a storage capacity of any of the memories; and 3) when the data set is larger than the storage capacity of any of the memories, replicating a portion of the data set across the memories and distributing a remaining portion of the data set across at least some of the memories.
    Type: Grant
    Filed: April 6, 2017
    Date of Patent: May 4, 2021
    Assignee: Nvidia Corporation
    Inventors: Steve Parker, Martin Stich, Konstantin Vostryakov
  • Publication number: 20190311531
    Abstract: In various examples, shader bindings may be recorded in a shader binding table that includes shader records. Geometry of a 3D scene may be instantiated using object instances, and each may be associated with a respective set of the shader records using a location identifier of the set of shader records in memory. The set of shader records may represent shader bindings for an object instance under various predefined conditions. One or more of these predefined conditions may be implicit in the way the shader records are arranged in memory (e.g., indexed by ray type, by sub-geometry, etc.). For example, a section selector value (e.g., a section index) may be computed to locate and select a shader record based at least in part on a result of a ray tracing query (e.g., what sub-geometry was hit, what ray type was traced, etc.).
    Type: Application
    Filed: April 5, 2019
    Publication date: October 10, 2019
    Inventors: Martin Stich, Ignacio Llamas, Steven Parker
  • Publication number: 20190098380
    Abstract: A monitoring system can receive sensor measurements from a select sensor of a group of sensors. The sensor measurements are compared to group alert condition or an individual alert condition. Based on the comparison, an alert state can be identified and a user notified of the alert state. The system can automatically determine the individual alert condition, which can be uniquely associated with the select sensor and can be associated with a domain of time.
    Type: Application
    Filed: November 13, 2018
    Publication date: March 28, 2019
    Inventors: Michael Primm, Richard Jefts, Martin Stich
  • Patent number: 10129611
    Abstract: A monitoring system can receive sensor measurements from a select sensor of a group of sensors. The sensor measurements are compared to group alert condition or an individual alert condition. Based on the comparison, an alert state can be identified and a user notified of the alert state. The system can automatically determine the individual alert condition, which can be uniquely associated with the select sensor and can be associated with a domain of time.
    Type: Grant
    Filed: September 27, 2014
    Date of Patent: November 13, 2018
    Assignee: RF CODE, INC.
    Inventors: Michael Primm, Richard Jefts, Martin Stich
  • Publication number: 20170300253
    Abstract: One aspect of the current disclosure provides a method for utilizing a plurality of memories associated with a plurality of devices in a computer system. The method includes: 1) receiving a data set for executing an application employing the devices; 2) determining whether the data set is larger than a storage capacity of any of the memories; and 3) when the data set is larger than the storage capacity of any of the memories, replicating a portion of the data set across the memories and distributing a remaining portion of the data set across at least some of the memories.
    Type: Application
    Filed: April 6, 2017
    Publication date: October 19, 2017
    Inventors: Steve Parker, Martin Stich, Konstantin Vostryakov
  • Patent number: 9460546
    Abstract: A hierarchical structure for accelerating ray tracing operations in scene rendering includes a plurality of geometry objects, and a single acceleration structure constructed over the collective plurality of geometry objects. Each geometry object includes primitives of a predefined type, whereby primitives within the plurality of geometry objects collectively define a geometry included within a region of the scene which is to be rendered. The single acceleration structure is operable for accelerating ray tracing operations for the primitives included within the plurality of geometry objects, and is constructed over the plurality of the geometry objects without an intervening bounding volume representation of the plurality of primitives included within the geometry objects.
    Type: Grant
    Filed: March 30, 2011
    Date of Patent: October 4, 2016
    Assignee: NVIDIA CORPORATION
    Inventors: Martin Stich, Steven Parker, Heiko Friedrich, Andreas Dietrich
  • Patent number: 9430863
    Abstract: A system, method, and computer program product are provided for constructing a hierarchical acceleration data structure that supports ray tracing of motion blur. In use, scene description data associated with an image to be generated is received. Additionally, a hierarchical acceleration data structure for performing ray tracing on the scene description data is constructed, where the hierarchical acceleration data structure supports ray tracing of motion blur.
    Type: Grant
    Filed: October 27, 2011
    Date of Patent: August 30, 2016
    Assignee: NVIDIA Corporation
    Inventors: Leonhard Grunschloss, Martin Stich, Sehera Nawaz, Alexander Keller
  • Publication number: 20160094898
    Abstract: A monitoring system can receive sensor measurements from a select sensor of a group of sensors. The sensor measurements are compared to group alert condition or an individual alert condition. Based on the comparison, an alert state can be identified and a user notified of the alert state. The system can automatically determine the individual alert condition, which can be uniquely associated with the select sensor and can be associated with a domain of time.
    Type: Application
    Filed: September 27, 2014
    Publication date: March 31, 2016
    Inventors: Michael Primm, Richard Jefts, Martin Stich
  • Patent number: 8922550
    Abstract: A system and method for constructing a bounding volume hierarchical structure are disclosed. The method includes defining a parent node for the bounding volume hierarchical structure, the parent node including a parent node bounding volume enclosing a plurality of objects. A first cost is computed for performing an object partition of the parent node bounding volume to produce a first plurality of child node bounding volumes, and a second cost is also computed for performing a spatial partitioning of the parent node bounding volume to produce a second plurality of child node bounding volumes. The bounding volume hierarchical structure is constructed employing the second plurality of child node bounding volumes produced from the spatial partitioning of the parent node bounding volume if the second cost is lower than the first cost.
    Type: Grant
    Filed: May 22, 2013
    Date of Patent: December 30, 2014
    Assignee: NVIDIA Corporation
    Inventor: Martin Stich
  • Publication number: 20140333669
    Abstract: A system, method, and computer program product for applying a motion blur filter to image data representing a graphical user interface is disclosed. The method includes the steps of generating image data representing a graphical user interface and applying a motion blur filter to at least a portion of the image data in one embodiment, the motion blur filter is applied to the image data by associating one or more motion vectors with the image data, and filtering a plurality of pixels in the image data based on the motion vectors.
    Type: Application
    Filed: May 8, 2013
    Publication date: November 13, 2014
    Applicant: NVIDIA Corporation
    Inventor: Martin Stich
  • Publication number: 20130249915
    Abstract: A system and method for constructing a bounding volume hierarchical structure are disclosed. The method includes defining a parent node for the bounding volume hierarchical structure, the parent node including a parent node bounding volume enclosing a plurality of objects. A first cost is computed for performing an object partition of the parent node bounding volume to produce a first plurality of child node bounding volumes, and a second cost is also computed for performing a spatial partitioning of the parent node bounding volume to produce a second plurality of child node bounding volumes. The bounding volume hierarchical structure is constructed employing the second plurality of child node bounding volumes produced from the spatial partitioning of the parent node bounding volume if the second cost is lower than the first cost.
    Type: Application
    Filed: May 22, 2013
    Publication date: September 26, 2013
    Applicant: NVIDIA Corporation
    Inventor: Martin Stich
  • Patent number: 8471845
    Abstract: A system and method for constructing a bounding volume hierarchical structure are disclosed. The method includes defining a parent node for the bounding volume hierarchical structure, the parent node including a parent node bounding volume enclosing a plurality of objects. A first cost is computed for performing an object partition of the parent node bounding volume to produce a first plurality of child node bounding volumes, and a second cost is also computed for performing a spatial partitioning of the parent node bounding volume to produce a second plurality of child node bounding volumes. The bounding volume hierarchical structure is constructed employing the second plurality of child node bounding volumes produced from the spatial partitioning of the parent node bounding volume if the second cost is lower than the first cost.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: June 25, 2013
    Assignee: NVIDIA Corporation
    Inventor: Martin Stich