GPU Shader Core Segmentation for Interference-Free Parallel Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing units (GPUs) face interference issues when executing both graphics and non-graphics applications simultaneously, leading to potential degradation in user experience due to resource competition and interference between graphics and non-graphics applications.

Innovation Solution

The GPU selectively reserves shader cores for either graphics or non-graphics applications, allowing for parallel execution without interference by delineating instructions and dynamically allocating resources based on application requirements and priorities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the GPU executes both graphics and non-graphics applications simultaneously on shared shader cores, then resource utilization is improved, but execution interference and performance degradation occur

Engineering Contradiction:
Improveresource utilizationVSAvoidexecution interference
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the shader cores into multiple groups, where each group is dedicated to executing either graphics applications or non-graphics applications. This segmentation prevents execution interference between different application types while maintaining high resource utilization, as each shader core group operates independently without contending for shared execution resources.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If the GPU uses a single shared set of shader cores for both graphics and non-graphics applications, then device complexity is reduced, but execution interference and performance degradation occur

Engineering Contradiction:
Improveshader core architectureVSAvoidexecution interference
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the shader cores into multiple groups that are logically separated for different application types. This segmentation maintains relatively simple device architecture compared to having completely separate GPU units, while effectively preventing execution interference through group-based isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The shader core groups are designed with multi-functionality, where each group can execute different types of applications (graphics or non-graphics) depending on allocation. This universality allows a single GPU to handle diverse workloads without requiring completely separate dedicated hardware for each application type.

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

3Speed

If the GPU reserves specific shader core groups for graphics applications, then graphics performance and responsiveness are improved, but flexibility in resource allocation decreases

Engineering Contradiction:
Improvegraphics performanceVSAvoidresource allocation flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic resource allocation where the assignment of shader core groups to graphics or non-graphics applications can change based on workload demands. The GPU driver can dynamically adjust which shader core groups execute which type of application, allowing the system to adapt to varying performance requirements while maintaining dedicated execution paths for graphics when needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2823459B1Execution of graphics and non-graphics applications on a graphics processing unit
Publication Date: 2016.02.17 QUALCOMM INC
  • EP2823459B1 patent drawingFigure 1
  • EP2823459B1 patent drawingFigure 2
  • EP2823459B1 patent drawingFigure 3

AI summary

The techniques described in this disclosure are directed to efficient parallel execution of graphics and non-graphics application on a graphics processing unit (GPU). The GPU may include a plurality of shader cores within a shader processor. The techniques may reserve one or more shader cores to execute the graphics application and reserve one or more other shader cores to execute the non-graphics application. In this manner, the execution of the non-graphics application may not interfere with the execution of the graphics application, and vice-versa.