GPU Constant Folding Unit for Shader Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Shading in graphics processing is computationally expensive and power-intensive, leading to inefficiencies and increased CPU overhead, particularly with existing CPU-based constant folding methods that can make applications CPU-bound and less power-efficient.

Innovation Solution

Implementing GPU-based shader constant folding using a hardware-enhanced or software-based approach, where a constant folding unit processes runtime constants and shaders to produce optimized shaders, reducing GPU execution time and CPU burden by eliminating redundant code and memory fetches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If CPU-based constant folding is used, then shader optimization is achieved, but CPU overhead increases and the system becomes CPU-bound

Engineering Contradiction:
Improveshader optimization qualityVSAvoidCPU processing throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent extracts the constant folding operation from the CPU and relocates it to the GPU. The GPU-based constant folding unit performs shader constant folding independently, separating this optimization task from CPU processing. This extraction resolves the contradiction by maintaining shader optimization quality while preventing CPU overload, as the GPU handles the computationally intensive constant folding operations that were previously bottlenecking the CPU.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a command buffer as an intermediary data structure that facilitates communication between the CPU and GPU for constant folding operations. The command buffer contains instructions and data that the CPU prepares and sends to the GPU, allowing the CPU to offload constant folding tasks without direct intervention. This intermediary mechanism enables efficient task distribution and resolves the contradiction by allowing the CPU to maintain optimization quality while avoiding being CPU-bound.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional shading is performed, then graphics rendering is achieved, but power consumption increases

Engineering Contradiction:
Improvegraphics rendering qualityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by performing constant folding before shader execution. The constant folding unit pre-computes constant values and expressions in the shader code, storing optimized results that are then used during actual rendering. This preliminary optimization reduces the computational workload during power-intensive rendering phases, maintaining graphics rendering quality while reducing overall power consumption by avoiding redundant calculations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If GPU-based constant folding is implemented, then GPU execution time decreases and power efficiency improves, but device complexity increases

Engineering Contradiction:
ImproveGPU execution speedVSAvoidhardware architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements universality by designing the GPU's constant folding unit to leverage existing GPU hardware resources. Rather than creating entirely new specialized hardware, the solution reuses the GPU's existing parallel processing capabilities, memory structures, and instruction pipelines for constant folding operations. This multi-functional approach allows the GPU to perform both traditional rendering and constant folding using the same hardware infrastructure, achieving improved execution speed without proportionally increasing device complexity.

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

Data Source

PatentUS10748323B2GPU based shader constant folding
Publication Date: 2020.08.18 INTEL CORP
  • US10748323B2 patent drawing
  • US10748323B2 patent drawing
  • US10748323B2 patent drawing

AI summary

Embodiments described herein provide a general purpose graphics processing device, comprising a general purpose graphics processing compute block to process a workload including graphics or compute operations, a memory, and a constant folding unit comprising a processing unit to receive a first input shader and metadata for the first input shader, receive a first constant buffer comprising runtime constants for the first input shader, and generate an improved shader from the first input shader and the runtime constants. Other embodiments may be described and claimed.