Parallel Pixel Shading Allocation via 3-Way Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems face inefficiencies in parallel pixel shading due to uneven distribution of screen space among execution units, leading to hot-spotting and suboptimal resource utilization.
Innovation Solution
Implementing a 3-way hashing technique using modulo arithmetic to allocate pixel groups to sub-groups of execution units, ensuring balanced load distribution and reducing hot-spotting by utilizing (X+Y) mod 3 operations to scramble diagonal patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If screen space is statically mapped to execution units using conventional hashing, then parallel execution is achieved, but hot-spotting occurs and resource utilization becomes uneven
Solution Approach 1:
The patent changes the hashing parameter from conventional modulo arithmetic to a 3-way hashing function that specifically scrambles diagonal patterns. This parameter change in the allocation algorithm redistributes pixel groups more evenly across execution units, eliminating hot-spotting while maintaining parallel processing efficiency
Solution Approach 2:
The patent introduces an intermediary allocation layer between screen space and execution units. The 3-way hashing function acts as a mediator that transforms the direct mapping relationship, inserting a computational step that Scrambles diagonal patterns and achieves balanced resource utilization without sacrificing parallelism
2Device complexity
If pixel groups are allocated to execution units without advanced hashing, then allocation simplicity is maintained, but diagonal hot-spotting reduces processing efficiency
Solution Approach 1:
The patent modifies the hashing parameter to use a 3-way function that specifically addresses diagonal patterns. This controlled increase in algorithmic complexity parameters achieves uniform distribution and eliminates hot-spotting, thereby improving graphics processing performance without excessive complexity increase
Data Source
AI summary
An apparatus and method for identifying sub-groups of execution resources for parallel pixel processing. For example, one embodiment of a method comprises: determining X and Y coordinates for a pixel block to be processed; performing a first set of one or more modulus operations using even bits from the X and Y coordinates to generate a first intermediate result; performing a second set of one or more modulus operations using odd bits from the X and Y coordinates to generate a second intermediate result; comparing the first intermediate result and the second intermediate result to generate a final result; and using the final result to select a first set of processing resources from a set of N processing resources for processing the pixel block.


