Data Structure APIs for Streaming Multiprocessor Resource Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If processor resources are allocated to multiple software programs, then resource utilization improves, but managing and synchronizing contexts becomes complex
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.
Data Source
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.


