GPU Convolution Shader Fetching for Redundant Texel Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing graphics processing systems face inefficiencies in texture fetching during convolution operations, leading to an imbalance between texture and shader hardware utilization due to redundant texel fetches and the need for bilinear filtering, which reduces overall GPU pipeline performance.
Innovation Solution
A method is introduced where a shader is modified to perform a collective fetch of all texels used in convolution operations for a group of output pixels instead of independent fetches, bypassing the bilinear filter hardware and shifting the workload from texture to shader hardware, utilizing a kernel-based approach to reduce redundancy and improve throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If independent texel fetches are performed for each output pixel in convolution operations, then texture hardware utilization is maintained, but redundant fetches occur and GPU pipeline efficiency decreases
Solution Approach 1:
The patent merges independent texel fetch operations for multiple output pixels into a single collective fetch operation. By identifying that adjacent pixels share common texels in convolution operations, the system combines these redundant fetches into one unified memory access, eliminating waste and improving pipeline efficiency.
2Ease of operation
If bilinear filter hardware is used for texture sampling, then filtering quality is maintained, but hardware workload imbalance occurs between texture and shader units
Solution Approach 1:
The patent extracts the bilinear filtering operation from the texture hardware and relocates it to the shader unit. This allows the texture hardware to focus on efficient collective fetch operations while the shader unit performs the filtering calculation, achieving better workload balance without sacrificing filtering quality.
3Productivity
If collective fetch of texels is performed for a group of output pixels, then redundant operations are reduced and throughput increases, but shader hardware workload increases
Solution Approach 1:
The patent changes the operational parameters of the shader unit to handle collective fetch data efficiently. By optimizing how the shader unit processes batches of texels for multiple pixels simultaneously, the system increases throughput while managing the increased shader workload through more efficient computation patterns.
Data Source
Figure 1
Figure 2~4
Figure 5~7
AI summary
A method comprising of improving texture fetching by a texturing/shading unit in a GPU pipeline is described. The method is for efficient convolution operations. The method comprises receiving a shader and determining whether the shader is a kernel shader. In response to determining that the shader is a kernel shader, the method comprises modifying the shader to perform a collective fetch of all texels used in convolution operations for a group of output pixels instead of performing independent fetches of texels for each output pixel in the group of output pixels.