External Semaphore API for Cross-API Graph Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Performing computational operations using code from different APIs requires significant time, power, and computing resources.

Innovation Solution

Implementing an application programming interface (API) that allows for the use of external semaphores to synchronize operations across different APIs, enabling efficient utilization of computational and memory resources by allowing mixed workloads to be performed using external semaphore signal and wait nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If code from different APIs is executed without integrated semaphore synchronization, then platform compatibility is maintained, but computational resources and execution time increase significantly

Engineering Contradiction:
Improveexecution timeVSAvoidsemaphore integration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal semaphore node structure that functions across multiple programming platforms (CUDA, ROCm, OpenCL) through a single unified interface. The semaphore node can be instantiated once and shared across different API code streams, eliminating the need for separate synchronization mechanisms for each platform and thereby reducing execution time while maintaining compatibility.

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

Solution Approach 2:

The execution graph serves as an intermediary data structure that mediates between different API code streams and the underlying semaphore synchronization mechanism. By introducing this intermediate layer, the system can manage semaphores uniformly across platforms without requiring direct integration complexity in each API implementation, thus improving productivity without proportionally increasing device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If external semaphores are allocated and managed across multiple APIs, then synchronization efficiency improves, but resource management complexity increases

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidresource management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the semaphore management functionality into distinct, reusable components: semaphore allocation, signal node creation, wait node creation, and parameter setting. Each component is implemented as a separate API function that can be independently managed and combined, reducing the overall complexity of resource management while maintaining high synchronization efficiency across multiple APIs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system allows dynamic modification of semaphore node parameters (such as signal value, wait condition, and timing) through parameter-setting functions. This flexibility enables efficient adaptation to different synchronization scenarios without requiring fundamental changes to the resource management structure, thereby improving reliability while keeping management complexity manageable through standardized parameter interfaces.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If semaphore wait nodes are added to execution graphs, then computational resource utilization decreases, but integration effort increases

Engineering Contradiction:
Improvecomputational resource utilizationVSAvoidintegration effort
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent enables preliminary allocation and configuration of semaphore nodes before they are actually needed in the execution graph. Semaphores can be pre-allocated and pre-configured with their parameters, then simply integrated into the execution graph when required. This preliminary action reduces the integration effort at the time of graph construction while achieving efficient resource utilization during execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12619477B2Application programming interface to cause graph code to wait on a semaphore
Publication Date: 2026.05.05 NVIDIA CORP
  • US12619477B2 patent drawing
  • US12619477B2 patent drawing
  • US12619477B2 patent drawing

AI summary

Apparatuses, systems, and techniques to facilitate graph code synchronization between application programming interfaces. In at least one embodiment, one or more circuits are to perform an application programming interface (API) to cause graph code to wait on a semaphore used by another API.