Cross-API Graph Code Synchronization Using External Semaphores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

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

Innovation Solution

Implementing an application programming interface (API) that allows graph code to wait on and signal external semaphores allocated by another API, enabling synchronization and efficient utilization of computational resources across different programming platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code from different APIs is used to perform computational operations, then functionality and versatility are improved, but time consumption and resource usage increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidtime consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces semaphores as intermediary synchronization primitives that mediate between different APIs and their associated code. These semaphores act as a common interface that allows graph code from one API to wait on and synchronize with operations from another API, eliminating the need for complex cross-API synchronization mechanisms and reducing time consumption while maintaining versatility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal semaphore mechanism that can be used across multiple different APIs and programming platforms. This single synchronization primitive serves multiple functions: it enables synchronization between CPU and GPU operations, coordinates tasks across different compute devices, and provides a common waiting mechanism that works regardless of which API generated the graph code, thereby reducing overall system complexity and execution time

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

2Adaptability or versatility

If code from different APIs is used to perform computational operations, then functionality and versatility are improved, but power consumption increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

Semaphores serve as energy-efficient intermediaries that enable coordination between different APIs without requiring continuous communication or complex synchronization protocols. The wait operation on a semaphore allows graph code to efficiently pause execution until a condition is met, avoiding wasted power consumption from busy-waiting or repeated synchronization attempts across different programming platforms

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The semaphore mechanism enables self-service synchronization where graph code automatically waits on appropriate semaphores based on its dependencies, without requiring external intervention or complex resource management from the hosting API. This reduces the computational overhead and power consumption associated with cross-API resource coordination

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If code from different APIs is used to perform computational operations, then functionality is improved, but computing resource usage increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidcomputing resource usage
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The semaphore acts as a simple intermediary data structure that reduces the complexity of resource management when executing mixed API workloads. Instead of requiring each API to implement its own complex synchronization and resource coordination mechanisms, the patent uses a unified semaphore interface that simplifies the management of computing resources across different APIs, graph codes, and executeable graphs

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the synchronization functionality from the complex API-specific mechanisms and consolidates it into a separate, dedicated semaphore system. This extraction allows the core synchronization logic to be independent of any particular API, reducing the coupling and complexity between different computational resources while maintaining the ability to coordinate operations across multiple APIs

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12625744B2Application programming interface to cause graph code to wait on a semaphore
Publication Date: 2026.05.12 NVIDIA CORP
  • US12625744B2 patent drawing
  • US12625744B2 patent drawing
  • US12625744B2 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.