Graphics Emulation Interface for CPU-GPU Workload Division

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics subsystems face challenges in efficiently managing complex graphics operations, particularly in image processing applications, due to the lack of a high-level interface that hides hardware complexity and efficiently divides work between CPU and GPU, while also being compatible with legacy systems.

Innovation Solution

A high-level program interface for graphics operations is introduced, utilizing a graph-like description of image tasks with nodes representing operators and links representing intermediary results, allowing for optimization and efficient resource usage, and enabling emulation on single processor systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a high-level program interface is introduced to hide hardware complexity, then ease of operation is improved, but device complexity increases due to the additional abstraction layer

Engineering Contradiction:
Improveease of operationVSAvoiddevice complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (the high-level program interface and graph description system) between the application programmer and the graphics hardware. This intermediary translates high-level filter descriptions into optimized GPU operations, shielding programmers from hardware complexity while maintaining efficiency through automated compilation and execution on the graphics processor.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If graphics operations are divided between CPU and GPU, then productivity is improved, but device complexity increases due to coordination requirements

Engineering Contradiction:
ImproveproductivityVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the graphics processing workload by having the CPU handle high-level filter description and graph construction, while the GPU handles parallel pixel-level computations. The intermediary layer divides the processing tasks appropriately, allowing each processor to operate in its optimal domain and improving overall productivity through specialized分工.

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If a graph-like description system is used to represent image tasks, then manufacturing precision is improved through optimization, but device complexity increases due to the additional data structure

Engineering Contradiction:
Improveoptimization precisionVSAvoiddevice complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by constructing and optimizing the graph description of image tasks before actual execution. The intermediary layer performs graph optimization, compiler analysis, and execution plan generation in advance, allowing for precise optimization of memory usage and computation time before the graphics operations are performed on the GPU.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7847800B2System for emulating graphics operations
Publication Date: 2010.12.07 APPLE INC
  • US7847800B2 patent drawing
  • US7847800B2 patent drawing
  • US7847800B2 patent drawing

AI summary

Disclosed is a system for producing images including emulation techniques. The system provides for emulation of graphics processing resources such that a central processing unit may provide graphics support. Disclosed embodiments include emulation of selected graphics calls as well as emulation of a programmable graphics processor for compatibility with systems having no compatible GPU.