GPU Memory Reconfiguration Using Hardware-Driven Cache Bank Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face challenges in dynamically reconfiguring memory to optimize performance across various operations, such as graphics processing and machine learning tasks, due to fixed memory configurations that do not adapt effectively to changing workloads.

Innovation Solution

The implementation of dynamic memory reconfiguration techniques on GPUs, including dynamic cache bank assignment based on hardware statistics and the use of mixed page sizes within a unified memory hierarchy, allows for efficient allocation of resources across different memory regions, enabling better performance in heterogeneous processing systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed memory configurations are used in GPUs, then device complexity is reduced and manufacturing is simplified, but adaptability to different workloads deteriorates and processing efficiency is limited

Engineering Contradiction:
Improveadaptability to different workloadsVSAvoidmemory configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic memory reconfiguration by allowing cache banks to be dynamically assigned to different memory regions (L0, L1, L2 caches) based on workload requirements. The memory controller can reconfigure cache bank assignments at runtime, transforming the static memory architecture into a dynamic one that adapts to different processing tasks such as graphics rendering or machine learning operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal memory architecture where the same physical memory resources (cache banks) can serve multiple functions depending on configuration. Cache banks can be allocated to different cache levels (L0, L1, L2) or memory regions based on demand, allowing a single memory subsystem to efficiently handle diverse workloads including graphics processing, compute operations, and machine learning tasks.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If dynamic memory reconfiguration is implemented, then processing efficiency and adaptability are improved, but device complexity and control difficulty increase

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmemory control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where the memory system automatically monitors its own performance metrics and dynamically reconfigures cache bank assignments without external intervention. The memory controller detects workload patterns and autonomously optimizes memory allocation, reducing the burden on software developers and simplifying the overall control interface while maintaining high processing efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms where performance metrics from memory accesses are continuously monitored and used to drive reconfiguration decisions. The system measures cache hit rates, memory access patterns, and workload characteristics, then uses this feedback to dynamically adjust cache bank assignments to optimize processing efficiency for current workloads.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If fixed function computational units are used, then device complexity is reduced, but versatility and variety of operations are limited

Engineering Contradiction:
Improvevariety of operationsVSAvoidprocessor architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal processing architecture where the same computational units can execute diverse operations including graphics rendering, general-purpose computing, and machine learning algorithms. By combining programmable processing units with dynamically reconfigurable memory, the system achieves multi-functionality without requiring separate fixed-function hardware for each operation type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11954062B2Dynamic memory reconfiguration
Publication Date: 2024.04.09 INTEL CORP
  • US11954062B2 patent drawing
  • US11954062B2 patent drawing
  • US11954062B2 patent drawing

AI summary

Embodiments described herein provide techniques to enable the dynamic reconfiguration of memory on a general-purpose graphics processing unit. One embodiment described herein enables dynamic reconfiguration of cache memory bank assignments based on hardware statistics. One embodiment enables for virtual memory address translation using mixed four kilobyte and sixty-four kilobyte pages within the same page table hierarchy and under the same page directory. One embodiment provides for a graphics processor and associated heterogenous processing system having near and far regions of the same level of a cache hierarchy.