DSP GPU Graphics Processing via Instruction Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing systems face inefficiencies due to the inability to offload graphics functionality from GPUs to DSPs, particularly in pipelined configurations, where APIs like OpenGL are not readily compatible with non-GPU processors, leading to a need for software compatibility to enhance processing capabilities.

Innovation Solution

Implementing a graphics processing system that combines GPUs and DSPs, utilizing a pipelined configuration and software compatibility to allow DSPs to perform graphics functions normally reserved for GPUs, by converting GPU-executable code into machine-readable instructions for DSP execution, and using LLVM IR creators and compilers to optimize and execute graphics processing tasks efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If graphics processing is performed only on GPU, then graphics functionality is efficiently handled, but processing capabilities are limited and cannot be dynamically offloaded

Engineering Contradiction:
Improveprocessing capability flexibilityVSAvoidsoftware compatibility complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system enables DSP to perform graphics processing functions traditionally reserved for GPU by implementing a universal processing architecture. The DSP is configured to execute graphics processing instructions through software compatibility layers, allowing the same processing unit to handle different types of computational tasks (general-purpose DSP operations and graphics-specific operations) without requiring separate dedicated hardware for each function type.

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

Solution Approach 2:

An intermediary software layer is introduced between the graphics processing instructions and the DSP execution engine. This intermediary includes instruction translators and compatibility adapters that convert GPU-oriented graphics instructions into DSP-executable formats, enabling cross-processor compatibility without modifying the underlying hardware architecture of either the GPU or DSP.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If additional hardware is added to increase processing capabilities, then graphics processing power is improved, but hardware size and power consumption increase

Engineering Contradiction:
Improvegraphics processing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The existing DSP hardware is repurposed to perform graphics processing functions, eliminating the need to add dedicated graphics processing hardware. The DSP's existing computational resources are utilized for graphics tasks through software configuration and instruction translation, thereby increasing processing capability without additional hardware power consumption.

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

Solution Approach 2:

The system utilizes the DSP's own existing processing resources to handle graphics workloads that would traditionally require separate GPU resources. By making the DSP self-sufficient for graphics processing through software compatibility layers, the system avoids the power consumption penalty of adding separate hardware while still expanding overall processing capability.

Inventive Principle:
Principle #25Self-service

3Speed

If GPU-executable code is directly executed on DSP, then processing can begin, but code compatibility issues prevent successful execution

Engineering Contradiction:
Improveprocessing start timeVSAvoidcode compatibility
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

Code translation and compatibility adaptation are performed in advance before graphics processing execution begins. Instruction translators pre-process GPU-executable code into DSP-compatible formats, and compatibility adapters preconfigure the DSP execution environment. This preliminary preparation eliminates runtime compatibility issues and allows immediate processing startup without ad-hoc code conversion delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary translation layer is introduced that automatically converts GPU instruction sets into DSP-executable instructions. This intermediary handles the complexity of code compatibility transparently, allowing graphics processing code to be executed on DSP without requiring manual code rewriting or compatibility checking, thereby maintaining ease of operation despite cross-processor execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11551399B2Methods and apparatus to perform graphics processing on combinations of graphic processing units and digital signal processors
Publication Date: 2023.01.10 TEXAS INSTRUMENTS INC
  • US11551399B2 patent drawing
  • US11551399B2 patent drawing
  • US11551399B2 patent drawing

AI summary

Methods, apparatus, systems and articles of manufacture to perform graphics processing on combinations of graphic processing units and digital signal processors are disclosed. A disclosed example method includes processing first data representing input vertices to create second data, the first data using a first format organized by vertex, the second data using a second format organized by components of the vertices. A digital signal processor (DSP) is to perform vertex shading on the second data to create third data, the third data formatted using the second format, the vertex shading performed by executing a first instruction at the DSP, the first instruction generated based on a second instruction capable of being executed at a graphics processing unit (GPU). The third data is processed to create fourth data, the fourth data formatted using the first format.