Data Structure APIs for Streaming Multiprocessor Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer programs face challenges in optimizing memory, time, and resource usage, despite advancements in performance acceleration.

Innovation Solution

Implementing application programming interfaces (APIs) to manage resources by creating, destroying, and subdividing sub-contexts, obtaining resources, generating resource descriptors, and synchronizing context events to efficiently allocate and manage processor resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If computer programs use significant memory and resources to perform computations, then computational tasks can be completed, but memory usage and resource consumption increase

Engineering Contradiction:
Improvecomputational task completionVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides processor resources into multiple sub-contexts, each managing a subset of resources independently. This segmentation allows memory and resources to be partitioned and allocated to different computational tasks, enabling efficient resource utilization while maintaining the ability to complete multiple computational tasks simultaneously without excessive memory consumption by any single program.

Inventive Principle:
Principle #1Segmentation

2Productivity

If processor resources are allocated to multiple software programs, then resource utilization improves, but managing and synchronizing contexts becomes complex

Engineering Contradiction:
Improveresource utilizationVSAvoidcontext management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces context descriptors as intermediary data structures that manage and track processor resources for each sub-context. These descriptors act as mediators between the resource management system and actual processor resources, simplifying the management of multiple contexts by providing a standardized interface for allocating, tracking, and synchronizing resources across different software programs without requiring complex direct management of each context.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250245046A1Application programming interface to allocate a data structure
Publication Date: 2025.07.31 NVIDIA CORP
  • US20250245046A1 patent drawing
  • US20250245046A1 patent drawing
  • US20250245046A1 patent drawing

AI summary

Apparatuses, systems, and techniques to perform computing operations. In at least one embodiment, a processor performs an application programming interface to allocate one or more data structures to indicate which of one or more streaming multiprocessors of one or more processors are to be used to perform one or more software threads.