GPGPU Kernel Segmentation for Multimedia Data Processing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Ease of operation
If data processing is performed work item by work item, then processing control is simplified, but memory access locality is reduced
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.
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.
3Productivity
If data patch processing extends beyond work item boundaries, then data reuse rate increases, but processing complexity increases
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.
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.
Data Source
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.


