CUDA Graph Capture APIs for Locating Incomplete Graph Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing complex graph code is difficult due to its inherent complexity, and existing techniques for parallel computing platforms like CUDA can be improved to enhance the management of graph code operations and dependencies.

Innovation Solution

Utilizing APIs such as cudaStreamBeginCapture and cudaStreamEndCapture to capture operations into a graph, and APIs like cudaStreamGetCaptureInfo and cudaStreamUpdateCaptureDependencies to manage and modify graph code, enabling the identification and modification of incomplete graph code portions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If graph code is used to perform parallel computing operations, then productivity is improved, but device complexity increases due to the inherent complexity of graph code management

Engineering Contradiction:
Improveparallel computing operationsVSAvoidgraph code management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary system consisting of capture interfaces and graph management APIs that mediate between the programmer and the complex graph code execution engine. This intermediary layer abstracts the complexity of graph code management while enabling productive parallel computing operations through standardized interfaces for capturing, validating, and executing graph code.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If stream capture is used to generate graph code, then ease of operation is improved, but reliability decreases due to potential incomplete or invalid graph code

Engineering Contradiction:
Improvestream captureVSAvoidgraph code validity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through validation interfaces that check graph code completeness and correctness after capture. The system provides feedback about the validity of captured graph code, allowing programmers to identify and correct issues in incomplete or invalid graph code while maintaining the ease of stream capture operation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary validation and checking of graph code during the capture phase rather than at execution time. By checking for completeness and validity upfront through capture interfaces, the system prevents execution of incomplete graph code while maintaining ease of operation during the capture process.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If graph code modification is enabled during capture, then adaptability is improved, but device complexity increases due to additional management requirements

Engineering Contradiction:
Improvegraph code modificationVSAvoidcode management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic graph code modification capabilities during the capture phase through specialized APIs. The graph code structure is made dynamic and adjustable, allowing programmers to modify operations, dependencies, and parameters while capturing, with the system adapting its management processes accordingly rather than requiring static pre-defined structures.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12536058B2Application programming interface to locate incomplete graph code
Publication Date: 2026.01.27 NVIDIA CORP
  • US12536058B2 patent drawing
  • US12536058B2 patent drawing
  • US12536058B2 patent drawing

AI summary

Apparatuses, systems, and techniques to identify a location of one or more portions of incomplete graph code. In at least one embodiment, a location of one or more portions of incomplete graph code is identified based on, for example, CUDA or other parallel computing platform code.