High-Level Graphics API for Multi-Processor Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems lack a high-level interface that efficiently manages graphics operations, particularly in image processing applications, leading to complexity and inefficiency in utilizing graphics hardware resources, and there is a need for a system that can operate on both multi-processor and single-processor systems.
Innovation Solution
A high-level program interface for graphics operations is introduced, allowing users to create graph-like descriptions of image tasks using nodes and links, which can be optimized by a compiler to minimize resources and efficiently divide work between the CPU and GPU, enabling the use of programmable GPUs and emulating on single processor systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a low-level graphics interface like OpenGL is used, then hardware accessibility is achieved, but programming complexity and state management burden increase
Solution Approach 1:
The patent introduces an intermediate high-level API layer between the application and the low-level graphics hardware interface. This intermediary layer provides simplified image processing functions that automatically manage the complex state machine operations of OpenGL, reducing programming complexity while maintaining hardware accessibility. The high-level API acts as a mediator that translates simple image processing requests into complex GPU operations without exposing the underlying complexity to the user.
2Adaptability or versatility
If programmable GPUs are used, then flexibility and graphics capability improve, but resource management complexity increases
Solution Approach 1:
The patent implements automatic resource management where the system automatically handles GPU program compilation, memory allocation, and resource binding without requiring manual intervention. The high-level API includes built-in mechanisms that self-manage the complex resources of programmable GPUs, allowing developers to leverage GPU flexibility while the system handles the associated complexity automatically.
3Ease of operation
If CPU time is used for graphics rendering, then program simplicity is maintained, but application performance decreases
Solution Approach 1:
The patent creates a dynamic system that automatically selects between CPU and GPU execution based on the specific operation being performed. The high-level API includes intelligent routing that dynamically directs simple operations to the CPU and complex graphics-intensive operations to the GPU, optimizing performance while maintaining program simplicity. This dynamic allocation allows the system to adaptively use the most appropriate processing resource for each task.
4Ease of operation
If a high-level abstraction layer is introduced, then ease of use improves, but processing efficiency may decrease
Solution Approach 1:
The patent performs preliminary actions by pre-compiling GPU programs and pre-allocating resources when the high-level API functions are first called, rather than doing so repeatedly during execution. The system caches compiled shader programs and manages resource allocation in advance, so that the simplified high-level interface does not incur repeated overhead costs. This preliminary preparation maintains ease of use while preserving processing efficiency during actual image operations.
Data Source
AI summary
Disclosed is a system for producing images including an application program interface. The system includes an API and techniques for creating images by defining relationships between filters and images, such relationships programmatically assembled in an object by a cooperative session between a requesting application and a graphics services resource. The system also includes aspects regarding optimization of the programmatically assembled object and techniques for rendering in multi-processor environment.


