Execution Graph API for Dynamic CUDA Node Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in efficiently executing CUDA programs on processing resources, particularly in configuring GPUs to perform computational operations efficiently and in parallel, due to limitations in memory and time usage.

Innovation Solution

The implementation of an execution graph framework that allows for dynamic control and instantiation of execution graph nodes on GPUs, enabling efficient configuration and parallel execution of CUDA programs by defining and managing graph templates, nodes, and dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional sequential execution methods are used for CUDA programs, then implementation simplicity is maintained, but execution efficiency and resource utilization deteriorate

Engineering Contradiction:
Improveexecution efficiencyVSAvoidexecution control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The CUDA program execution is segmented into discrete graph nodes representing different computational stages and data flow paths. Each node can be independently configured and executed, allowing parallel processing while maintaining program structure. This segmentation enables efficient resource utilization by the GPU while preserving implementation simplicity through the structured graph framework.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If dynamic node execution control is implemented, then resource utilization improves, but system complexity increases

Engineering Contradiction:
Improveexecution control flexibilityVSAvoidgraph management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The execution graph framework implements dynamic node execution control where nodes can be selectively activated, deactivated, or reconfigured based on runtime conditions. This dynamic capability allows the system to adapt to different computational workloads and optimize resource utilization while the underlying graph structure provides a manageable framework that prevents excessive complexity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20230222010A1Application programming interface to indicate execution of graph nodes
Publication Date: 2023.07.13 NVIDIA CORP
  • US20230222010A1 patent drawing
  • US20230222010A1 patent drawing
  • US20230222010A1 patent drawing

AI summary

Apparatuses, systems, and techniques to facilitate execution graph control. In at least one embodiment, an application programming interface comprising one or more parameters is used to indicate which of one or more portions of graph code are to be performed.