Software Graph API for Host Dependency and Deadlock Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing parallel computing systems face challenges in efficiently managing dependencies between tasks in software graphs, leading to inefficiencies and potential deadlocks during task execution.

Innovation Solution

A processor utilizes an application programming interface (API) to define and manage dependencies between nodes in a software graph, including full execution, anti-deadlock, launch order, and fast launch dependencies, allowing for optimized task execution and parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional dependency management is used in parallel computing systems, then task execution can proceed with basic dependencies, but deadlocks occur and performance is reduced

Engineering Contradiction:
Improvedeadlock preventionVSAvoidparallel processing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments dependency management into distinct categories (full execution dependency, anti-deadlock dependency, launch order dependency, fast launch dependency). Each dependency type is handled separately through specific API functions, allowing the system to manage complex task relationships without deadlocks while maintaining high parallel processing performance through optimized execution strategies for each dependency category.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If simple task execution is used, then implementation is straightforward, but task sequencing and concurrency control are insufficient

Engineering Contradiction:
ImproveAPI usabilityVSAvoiddependency management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates a universal dependency management system where a single API framework handles multiple dependency types (full execution, anti-deadlock, launch order, fast launch). The unified API design allows developers to work with a consistent interface while the system internally manages the complexity of different dependency categories, achieving both ease of operation and comprehensive control.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If strict execution ordering is enforced, then task correctness is ensured, but parallel execution efficiency is reduced

Engineering Contradiction:
Improvetask execution correctnessVSAvoidtask execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic execution ordering through four dependency types that allow the system to adaptively determine task execution sequences. The anti-deadlock and fast launch dependencies specifically enable more flexible ordering compared to strict full execution dependencies, allowing parallel tasks to execute concurrently when safety permits, thus reducing execution time while maintaining correctness through the scheduling system's dynamic adjustment of task sequences.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12511106B1Application programming interface to indicate host dependencies
Publication Date: 2025.12.30 NVIDIA CORP
  • US12511106B1 patent drawing
  • US12511106B1 patent drawing
  • US12511106B1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform an application programming interface (API) to add one or more graph nodes to a software graph, wherein the API is to cause a host node to be added to a software graph based, at least in part, on a dependency type indicated by the API. In at least one embodiment, one or more nodes are added to a graph in accordance to one or more dependency types.