GPU Wavefront Processing for Top-Left Pixel Dependencies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graphics processing units (GPUs) face performance issues due to pixel dependency problems, which prevent adequate leveraging of parallel processing capabilities, especially in scenarios involving top-left dependent pixels, leading to sequential processing and reduced performance.

Innovation Solution

The GPU architecture processes image data in a wavefront order, partitioning data blocks and using SIMD instructions to process pixels in parallel, maintaining top-left dependencies while maximizing data parallelism, thereby reducing the number of iterations required compared to conventional sequential processing methods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential processing is used to handle top-left dependent pixels, then pixel dependency constraints are satisfied, but parallel processing capability is not leveraged and performance is reduced

Engineering Contradiction:
Improvepixel dependency constraint satisfactionVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The image data is divided into multiple data blocks, where each block contains pixels that can be processed independently. This segmentation allows the GPU to process multiple blocks in parallel while still respecting the top-left dependency constraints within each block, thereby achieving both reliability and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new processing dimension by organizing pixels into data blocks with specific tiling patterns. This dimensional reorganization allows pixels that would traditionally require sequential processing to be grouped into independent processing units, enabling parallel execution across multiple blocks while maintaining dependency constraints within each block.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If conventional processing methods are used, then implementation simplicity is maintained, but GPU parallel processing capabilities are not adequately leveraged

Engineering Contradiction:
Improveprocessing method simplicityVSAvoidparallel processing utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent employs dynamic block selection and processing strategies that adapt to the specific characteristics of the image data. The system dynamically determines which data blocks to process first and how to organize them, allowing the processing method to remain relatively simple while achieving high parallel processing utilization through adaptive block management.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If more iterations are used in sequential processing, then complete processing is achieved, but processing time increases and performance decreases

Engineering Contradiction:
Improveprocessing completenessVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of image data into data blocks before processing begins. This preliminary action groups pixels in a way that enables parallel processing, so that when processing starts, multiple blocks can be handled simultaneously rather than sequentially, reducing total processing time while ensuring complete processing of all pixels.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9547880B2Parallel processing image data having top-left dependent pixels
Publication Date: 2017.01.17 INTEL CORP
  • US9547880B2 patent drawing
  • US9547880B2 patent drawing
  • US9547880B2 patent drawing

AI summary

Methods and systems may include logic to identify a plurality of blocks in image data having one or more top-left dependent pixels, and select the plurality of blocks in a wavefront order for processing. In addition, the logic may process a plurality of pixels in each block in the wavefront order. The system may also include a display device to output a result associated with processing the plurality of pixels.