GPGPU Kernel Segmentation for Multimedia Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GPGPU computing methods are inefficient for processing multimedia data due to differences in characteristics between multimedia and graphic data, leading to performance degradation and inefficiency in memory access and arithmetic operations.

Innovation Solution

The method involves dividing an application kernel into a data patch kernel and a data processing kernel, where the data patch kernel ensures memory access locality and prepares data beyond work item boundaries, while the data processing kernel performs arithmetic operations on the prepared data, enhancing data reuse and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If GPGPU computing is used for multimedia data processing, then graphic processing capabilities are utilized, but processing efficiency deteriorates due to mismatched data characteristics

Engineering Contradiction:
ImproveGPGPU computing capabilityVSAvoidmultimedia data processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The application kernel is divided into two distinct kernels: a data patch kernel that handles data preparation and memory access optimization, and a data processing kernel that performs arithmetic operations. This segmentation allows each kernel to be optimized for its specific function, resolving the contradiction by enabling GPGPU to efficiently handle multimedia data through specialized data preparation before processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data patch kernel performs preliminary actions by preparing data in advance, ensuring memory access locality and optimizing data layout before the data processing kernel executes arithmetic operations. This preliminary data preparation eliminates the need for inefficient memory access patterns during the main processing phase, thereby improving overall productivity while maintaining GPGPU capabilities.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If data processing is performed work item by work item, then processing control is simplified, but memory access locality is reduced

Engineering Contradiction:
Improveprocessing control simplicityVSAvoidmemory access efficiency
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The processing control is segmented into two independent phases: data patch generation by the data patch kernel and arithmetic processing by the data processing kernel. This segmentation allows the data patch kernel to optimize memory access patterns independently, ensuring data is prepared in a location-efficient manner before processing begins, thus resolving the contradiction between control simplicity and memory access efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data patch kernel performs preliminary data preparation that ensures memory access locality is optimized before the data processing kernel executes operations. By preparing data in advance with optimal memory layout, the system maintains simple work item-by-work item processing control while achieving efficient memory access patterns during the actual arithmetic operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If data patch processing extends beyond work item boundaries, then data reuse rate increases, but processing complexity increases

Engineering Contradiction:
Improvedata reuse rateVSAvoidkernel structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The kernel structure is segmented into two separate kernels with distinct responsibilities: the data patch kernel handles data preparation and boundary-extending operations to maximize data reuse, while the data processing kernel handles arithmetic operations. This segmentation manages complexity by dividing the workload, allowing each kernel to focus on specific optimizations without overwhelming overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data patch kernel performs preliminary data preparation that extends beyond work item boundaries to increase data reuse rates. By preparing data in advance with optimal layout and extending processing beyond strict work item boundaries, the system achieves higher data reuse without significantly increasing overall processing complexity, as the complexity is contained within the data patch kernel's preparation phase.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9766875B2Multimedia data processing method in general purpose programmable computing device and data processing system according to the multimedia data processing method
Publication Date: 2017.09.19 SAMSUNG ELECTRONICS CO LTD
  • US9766875B2 patent drawing
  • US9766875B2 patent drawing
  • US9766875B2 patent drawing

AI summary

A method of processing multimedia data includes: separating a defined application kernel into a data patch kernel and a data processing kernel; requesting, by the data processing kernel, access to patch data of the multimedia data, from the data patch kernel; performing, by the data patch kernel, an operation that is independent of the request and preparing data for the data access based on the request; and performing, by the data processing kernel, an arithmetic operation on work items of the prepared data when the data has been prepared by the data patch kernel.