Shared Local Memory Register Spill Buffer for Graphics Processors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional techniques for register spill and fill in graphics processing units rely on global memory, resulting in higher latency and lower bandwidth, which limits performance and increases power consumption.
Innovation Solution
The use of shared local memory (SLM) as a register spill/fill buffer for 3D shader threads, allowing for lower latency, higher bandwidth, and reduced power usage, while also alleviating register pressure by continuously loading constants into SLM instead of relying solely on registers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If global memory is used for register spill/fill operations, then register management is possible, but latency increases and bandwidth decreases
Solution Approach 1:
The patent introduces shared local memory (SLM) as an intermediary storage layer between registers and global memory. The SLM buffer serves as a mediator that captures and stores spilled register values locally, avoiding direct access to global memory and thereby reducing latency while maintaining register management capabilities.
Solution Approach 2:
The memory hierarchy is segmented into distinct layers: registers, shared local memory (SLM) buffer, and global memory. This segmentation allows the system to handle different types of data access patterns efficiently, with the SLM layer specifically optimized for spill/fill operations to reduce the penalty of register spills.
2Quantity of substance
If global memory is used for register spill/fill operations, then register management is possible, but bandwidth decreases
Solution Approach 1:
The shared local memory acts as an intermediary that provides high-bandwidth access for spill/fill operations. By routing these operations through the SLM buffer rather than directly to global memory, the system achieves higher effective bandwidth for register management while keeping the overall memory architecture manageable.
Solution Approach 2:
The patent adds a new dimension to the memory hierarchy by introducing the SLM buffer layer. This dimensional addition creates a intermediate storage space that is physically closer to the processing units, thereby increasing bandwidth for local operations without fundamentally redesigning the entire global memory architecture.
3Speed
If registers are used for constant storage, then fast access is achieved, but register pressure increases
Solution Approach 1:
The SLM buffer serves as an intermediary storage space for constants and frequently accessed data. This allows the system to maintain fast access speeds comparable to registers while offloading storage burden from the register file, thereby reducing register pressure and allowing more registers to be available for active computation.
Data Source
AI summary
A mechanism is described for facilitating using of a shared local memory for register spilling/filling relating to graphics processors at computing devices. A method of embodiments, as described herein, includes reserving one or more spaces of a shared local memory (SLM) to perform one or more of spilling and filling relating to registers associated with a graphics processor of a computing device.


