Executable Graph Code Modification via API

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modifying graph code in computational operations consumes significant time, power, and computing resources, necessitating more efficient processing techniques.

Innovation Solution

The implementation of a computing system that uses a set of APIs to define, instantiate, and modify execution graphs, allowing for the modification of function code and node parameters of executable graphs without re-instantiating them, utilizing APIs like CUDA, ROCm, and OpenCL to optimize computational workflows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If graph code is modified using traditional methods, then the code can be updated, but significant time, power, and computing resources are consumed

Engineering Contradiction:
Improvegraph code modifiabilityVSAvoidmodification time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the graph modification process into distinct operations: identifying nodes to be modified, creating modified versions of those nodes, and selectively replacing them in the graph structure. This segmentation allows for efficient, targeted modifications rather than complete graph reprocessing, reducing time and resource consumption while maintaining adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing and storing modified node versions before actual graph modification is needed. Modified nodes are prepared in advance and cached, allowing rapid graph updates without performing expensive computations at the moment of modification, thus reducing modification time and resource usage.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If graph code is modified using traditional methods, then the code can be updated, but significant power and computing resources are consumed

Engineering Contradiction:
Improvegraph code modifiabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by modifying only the specific portions of the graph that need changes rather than processing the entire graph structure. Individual nodes or subgraphs are modified in place with minimal disruption to the rest of the system, reducing overall computing resource consumption and energy usage while maintaining the ability to update graph code effectively.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements discarding and recovering by identifying and discarding only the specific nodes that need modification, while preserving and reusing the majority of the existing graph structure. Computed results and intermediate states are recovered and reused where applicable, minimizing redundant computations and reducing power and resource consumption.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If executable graphs are re-instantiated for modification, then updates can be applied, but execution time increases

Engineering Contradiction:
Improvegraph update capabilityVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces dynamics by enabling mutable, modifiable graph structures that can be updated in place rather than requiring static re-instantiation. The graph system transitions from immutable to mutable states, allowing continuous modification without reconstruction, thereby maintaining high execution speed while improving adaptability and update capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses copying strategically by creating copies only of the specific nodes that need modification rather than copying the entire graph. These localized copies are then integrated back into the original graph structure, enabling updates without full re-instantiation and preserving execution performance while achieving graph adaptability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20230176933A1Techniques for modifying graph code
Publication Date: 2023.06.08 NVIDIA CORP
  • US20230176933A1 patent drawing
  • US20230176933A1 patent drawing
  • US20230176933A1 patent drawing

AI summary

Apparatuses, systems, and techniques to modify graph code. In at least one embodiment, one or more circuits are to perform an application programming interface (API) to modify executable graph code.