Visual Scripting Graph Memory Layout Without Prim Data Copying
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If prim data is copied into allocated memory for computational graph processing, then data processing can be performed, but energy consumption increases
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
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
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
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
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
Data Source
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.


