API Version Identification for Parallel Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of updating and reusing programming code across different applications leads to potential errors and inefficiencies due to the presence of various code versions.

Innovation Solution

The development of application programming interfaces (APIs) and system loaders that facilitate the determination of memory addresses for API functions, allowing for efficient invocation and execution of parallel computing operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If programming code is updated for performance, hardware compatibility, and new hardware features, then code functionality and adaptability are improved, but code version complexity and error potential increase

Engineering Contradiction:
Improvecode adaptabilityVSAvoidcode version complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments code versions by creating distinct version identifiers and organizing them in versioned libraries. Each code version is treated as a separate, manageable unit with its own identifier, allowing multiple versions to coexist without confusion and reducing the complexity of managing updates across different applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (version identification system and query interface) that mediates between applications and code versions. This intermediary resolves version conflicts by providing a standardized way to query and select appropriate code versions, reducing the complexity of direct version management by applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple versions of programming code are maintained for different applications, then code reuse and adaptability are improved, but system reliability and error potential deteriorate

Engineering Contradiction:
Improvecode reuse capabilityVSAvoidsystem reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by establishing version identification and selection mechanisms before code execution. Applications query the system to determine the appropriate code version in advance, ensuring the correct version is selected before use. This prevents errors from using incorrect versions and maintains system reliability while enabling code reuse.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through query interfaces that provide information about available code versions and their compatibility. The system responds to application queries with version information, allowing applications to make informed decisions about which code version to use. This feedback loop ensures reliable code selection while maintaining adaptability.

Inventive Principle:
Principle #23Feedback

3Productivity

If code updates are performed across multiple applications, then hardware compatibility and performance are improved, but time consumption and operational complexity increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcode update time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent creates a universal version query interface that serves multiple applications simultaneously. The same query mechanism and version management system are used across different applications, reducing the time and complexity of code updates. This multi-functional approach allows consistent version management without requiring separate update processes for each application.

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

Data Source

PatentUS20250181428A1Application programming interface to identify function versions
Publication Date: 2025.06.05 NVIDIA CORP
  • US20250181428A1 patent drawing
  • US20250181428A1 patent drawing
  • US20250181428A1 patent drawing

AI summary

Apparatuses, systems, and techniques to determine one or more memory address values corresponding to one or more computing functions provided by one or more application programming interfaces to facilitate parallel computing. In at least one embodiment, one or more application programming interfaces to facilitate parallel computing determine one or more memory address values based, at least in part, on one or more function calls to one or more functions provided by said one or more application programming interfaces to facilitate parallel computing using one or more parallel processing units, such as a graphics processing unit.