Shader binding management in ray tracing

    公开(公告)号:US12112428B2

    公开(公告)日:2024-10-08

    申请号:US18353809

    申请日:2023-07-17

    摘要: 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.).

    Shader binding management in ray tracing

    公开(公告)号:US11727632B2

    公开(公告)日:2023-08-15

    申请号:US17376866

    申请日:2021-07-15

    摘要: 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.).

    System and method for constructing a bounding volume hierarchical structure
    3.
    发明授权
    System and method for constructing a bounding volume hierarchical structure 有权
    用于构建边界体层次结构的系统和方法

    公开(公告)号:US08922550B2

    公开(公告)日:2014-12-30

    申请号:US13900475

    申请日:2013-05-22

    发明人: Martin Stich

    IPC分类号: G06T15/00 G06T15/06 G06T17/00

    摘要: 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.

    摘要翻译: 公开了一种用于构建边界体积分层结构的系统和方法。 该方法包括为边界卷层级结构定义父节点,父节点包括包围多个对象的父节点包围卷。 计算第一成本以执行父节点限制卷的对象分区以产生第一多个子节点边界卷,并且还计算第二成本以执行父节点界限体积的空间划分以产生第二多个 的子节点包围卷。 如果第二成本低于第一成本,则使用从父节点界限卷的空间划分产生的第二多个子节点限制卷来构造边界卷分层结构。

    PARALLEL WORKLOAD SCHEDULING BASED ON WORKLOAD DATA COHERENCE

    公开(公告)号:US20240095083A1

    公开(公告)日:2024-03-21

    申请号:US18174906

    申请日:2023-02-27

    IPC分类号: G06F9/50

    摘要: 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.

    Application-specific memory scaling in multi-device systems

    公开(公告)号:US11474710B2

    公开(公告)日:2022-10-18

    申请号:US17222777

    申请日:2021-04-05

    IPC分类号: G06F12/00 G06F3/06 G06F9/46

    摘要: 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.

    APPLICATION-SPECIFIC MEMORY SCALING IN MULTI-DEVICE SYSTEMS

    公开(公告)号:US20210232325A1

    公开(公告)日:2021-07-29

    申请号:US17222777

    申请日:2021-04-05

    IPC分类号: G06F3/06 G06F9/46

    摘要: 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.

    Application-specific memory scaling in multi-device systems

    公开(公告)号:US10996865B2

    公开(公告)日:2021-05-04

    申请号:US15480966

    申请日:2017-04-06

    IPC分类号: G06F3/06 G06F9/46

    摘要: 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.

    SHADER BINDING MANAGEMENT IN RAY TRACING
    8.
    发明申请

    公开(公告)号:US20190311531A1

    公开(公告)日:2019-10-10

    申请号:US16376943

    申请日:2019-04-05

    摘要: 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.).

    SHADER BINDING MANAGEMENT IN RAY TRACING
    9.
    发明公开

    公开(公告)号:US20230360321A1

    公开(公告)日:2023-11-09

    申请号:US18353809

    申请日:2023-07-17

    摘要: 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.).

    SHADER BINDING MANAGEMENT IN RAY TRACING

    公开(公告)号:US20210343072A1

    公开(公告)日:2021-11-04

    申请号:US17376866

    申请日:2021-07-15

    摘要: 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.).