Heterogeneous CPU-GPU Pipeline Topology Compilation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in writing platform-independent instructions for executing data processing algorithms on graphics processing units (GPUs) that ensure efficient execution across various GPU types, as they are unaware of the specific parallel processing capabilities of the GPU, leading to suboptimal performance or the need for writing separate instructions for each GPU type.

Innovation Solution

The technique involves defining a platform-independent computational pipeline model with a specified topology and characteristics, such as amplification factors and buffer sizes, which can be compiled into platform-dependent instructions optimized for the specific GPU, allowing efficient execution on different types of GPUs through meta-scheduler instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers write platform-independent instructions for GPU execution, then portability across different GPU types is improved, but execution efficiency deteriorates due to lack of awareness of specific parallel processing capabilities

Engineering Contradiction:
ImproveportabilityVSAvoidexecution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces a computational pipeline model as an intermediary layer between the developer and the GPU. This model includes platform-independent elements (pipeline topology, kernel functions, buffer sizes) and platform-dependent elements (amplification factors, scheduling instructions). The intermediary translates high-level pipeline definitions into optimized GPU-specific instructions, allowing developers to write portable code while maintaining execution efficiency through automated optimization based on GPU capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If developers write separate instructions for each GPU type, then execution efficiency is improved by optimizing for specific parallel processing capabilities, but device complexity increases due to multiple instruction sets

Engineering Contradiction:
Improveexecution efficiencyVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal computational pipeline model that can execute on multiple GPU types through platform-dependent compilation. The same pipeline topology and kernel definitions can be compiled into optimized instructions for different GPU architectures. This multi-functionality allows a single instruction set (the pipeline model) to serve multiple GPU platforms, reducing the need for developers to maintain separate instruction sets for each GPU type while still achieving platform-optimized execution.

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

3Productivity

If a detailed pipeline model with platform-dependent characteristics is used, then execution efficiency is improved through optimization, but ease of operation deteriorates due to complexity in defining amplification factors and buffer sizes

Engineering Contradiction:
Improveexecution efficiencyVSAvoidease of pipeline definition
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent performs preliminary action by automatically determining optimal values for amplification factors, buffer sizes, and other platform-dependent parameters during the compilation process. Instead of requiring developers to manually tune these parameters, the system pre-computes them based on the pipeline topology, kernel characteristics, and target GPU capabilities. This preliminary optimization maintains execution efficiency while significantly reducing the operational complexity for developers.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2820540B1Execution model for heterogeneous CPU-GPU computing
Publication Date: 2019.04.10 QUALCOMM INC
  • EP2820540B1 patent drawingFigure 1
  • EP2820540B1 patent drawingFigure 2
  • EP2820540B1 patent drawingFigure 3

AI summary

The techniques are generally related to implementing a pipeline topology of a data processing algorithm on a graphics processing unit (GPU). A developer may define the pipeline topology in a platform-independent manner. A processor may receive an indication of the pipeline topology and generate instructions that define the platform-dependent manner in which the pipeline topology is to be implemented on the GPU.