DSP GPU Graphics Processing via Instruction Translation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If additional hardware is added to increase processing capabilities, then graphics processing power is improved, but hardware size and power consumption increase
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.
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.
3Speed
If GPU-executable code is directly executed on DSP, then processing can begin, but code compatibility issues prevent successful execution
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.
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.
Data Source
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.


