Processor Compute Unit Prioritization for Cache Thrashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The throughput of GPU applications does not scale linearly with the number of compute units due to cache thrashing behavior caused by memory-intensive applications competing for shared cache resources.

Innovation Solution

A method is introduced to dynamically designate a subset of compute units as priority units, allowing them to have exclusive access to the shared cache and prioritized access to main memory, while non-prioritized units bypass the shared cache and have lower memory access priority.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all compute units access the shared cache simultaneously, then memory-intensive applications can utilize more compute units, but cache thrashing occurs which increases the LLC miss rate and reduces throughput

Engineering Contradiction:
ImprovethroughputVSAvoidcache thrashing
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the compute units into priority and non-priority groups, allowing differentiated access to the shared cache. This segmentation resolves the contradiction by enabling selective access that prevents cache thrashing while maintaining high throughput for critical compute units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by giving different access priorities to different compute units based on their workload characteristics. Priority compute units receive preferential cache access while non-priority units have reduced access, optimizing overall system performance and preventing cache thrashing.

Inventive Principle:
Principle #3Local quality

2Productivity

If the number of compute units is increased to improve throughput, then processing capacity increases, but cache thrashing behavior increases which causes the throughput to not scale linearly

Engineering Contradiction:
Improvethroughput scalingVSAvoidcache access management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic prioritization where compute units can be transitioned between priority and non-priority states based on runtime conditions. This dynamic approach allows the system to adapt to changing workload patterns and maintain optimal throughput scaling as compute units are added.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses feedback mechanisms to monitor cache performance metrics and adjust compute unit prioritization accordingly. This feedback loop enables the system to maintain linear throughput scaling by preventing cache thrashing through adaptive resource management.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12314179B2System performance management using prioritized compute units
Publication Date: 2025.05.27 ADVANCED MICRO DEVICES INC
  • US12314179B2 patent drawing
  • US12314179B2 patent drawing
  • US12314179B2 patent drawing

AI summary

Methods, devices, and systems for managing performance of a processor having multiple compute units. An effective number of the multiple compute units may be determined to designate as having priority. On a condition that the effective number is nonzero, the effective number of the multiple compute units may each be designated as a priority compute unit. Priority compute units may have access to a shared cache whereas non-priority compute units may not. Workgroups may be preferentially dispatched to priority compute units. Memory access requests from priority compute units may be served ahead of requests from non-priority compute units.