Visual Scripting Graph Memory Layout Without Prim Data Copying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Visual scripting platforms face inefficiencies in data movement and resource utilization due to the overhead of copying prim data into and out of computational graphs, leading to increased latency and energy consumption, particularly in applications with large numbers of primitives.

Innovation Solution

The system identifies target prim data using node attributes, organizes memory by querying prim locations, allocates memory based on matching counts, and writes results directly to storage locations, avoiding data copying.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If prim data is copied into allocated memory for computational graph processing, then data processing can be performed, but data movement overhead increases and latency increases

Engineering Contradiction:
Improvedata processing capabilityVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the data copying operation from the computational graph processing pipeline. Instead of copying prim data into graph allocated memory, the system reads prim data directly from its original storage locations during graph execution, eliminating the unnecessary copying step and reducing latency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a memory organization layer that acts as an intermediary between the prim data storage and the computational graph. This layer allows the graph to access prim data through query results without direct copying, mediating the data flow to reduce overhead

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If prim data is copied into allocated memory for computational graph processing, then data processing can be performed, but energy consumption increases

Engineering Contradiction:
Improvedata processing capabilityVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent removes the energy-intensive data copying operation from the processing pipeline by allowing computational graph nodes to read prim data directly from storage locations, eliminating the redundant write operations that consume energy

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system allows prim data to serve itself by being accessed directly from its original storage locations without requiring copying into separate graph memory. The data structure serves both storage and processing functions simultaneously

Inventive Principle:
Principle #25Self-service

3Ease of operation

If conventional gather-scatter approach is used, then data can be transferred to and from computational nodes, but data movement overhead exceeds processing time

Engineering Contradiction:
Improvedata transfer capabilityVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent inverts the conventional gather-scatter approach by eliminating the gather phase (copying data into graph memory) and the scatter phase (writing results back). Instead, the computational graph directly queries and modifies prim data in its original storage locations

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent extracts and removes the data copying operations from the computational graph execution流程, allowing nodes to directly access and modify prim data without the overhead of copy-then-process-then-copy-back cycles

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250391088A1Optimizing computational graphs for visual scripting and distributed content creation
Publication Date: 2025.12.25 NVIDIA CORP
  • US20250391088A1 patent drawing
  • US20250391088A1 patent drawing
  • US20250391088A1 patent drawing

AI summary

In various examples, data required by some nodes of a visual scripting computational graph may be defined by the attributes of the target prims it is operating on, and that computational graph may be organized in memory by querying this target prim data to identify a count of matching prims and locations of the target prim data, allocating memory for the graph based on the matching prim count, reading the prim data from the identified locations instead of copying it into memory, and writing the results of node operations into the allocated memory. The results of the last node operation may be written directly back to the storage locations of the target prim data. As such, the present techniques may be used to avoid copying prim data to and/or from allocated memory for the graph.