GPU Memory Controller Batching for Parallel Workload Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing units (GPUs) face inefficiencies in processing graphics and machine-learning operations due to limitations in memory management and parallel processing techniques, leading to suboptimal performance in handling large datasets and complex computations.

Innovation Solution

A computing system architecture that integrates a graphics processing unit (GPU) with advanced memory management techniques, including a memory hub and parallel processing units, to efficiently allocate and process graphics and machine-learning workloads, utilizing SIMT architectures and dedicated circuitry for enhanced parallel processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional memory management techniques are used in GPUs, then device complexity is reduced, but processing efficiency and performance deteriorate due to inefficiencies in handling large datasets and complex computations

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

Solution Approach 1:

The memory management system is segmented into multiple independent components: a memory controller with a command generator, a separate batch unit with multiple source queues, and a batch scheduler. This segmentation allows each component to specialize in specific tasks, improving overall processing efficiency while distributing complexity across modular units rather than concentrating it in a single memory management subsystem.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A batch unit is introduced as an intermediary component between the memory controller and the memory interface. This batch unit receives memory requests from multiple source queues, batches them together, and manages their execution. The intermediary batch unit absorbs memory management complexity, allowing the memory controller to focus on generating commands efficiently while the batch unit handles the complexity of coordinating multiple memory operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If parallel processing techniques are implemented to handle large datasets, then processing speed increases, but memory management becomes more complex and less efficient

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

Memory requests are batched together in advance before being sent to the memory interface. The batch unit collects multiple memory requests from different source queues and prepares them as a batch operation. This preliminary batching action allows the memory controller to efficiently manage parallel processing by preparing memory operations in advance, reducing the complexity of real-time memory management during high-speed parallel processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The batch unit maintains continuous operation by constantly receiving memory requests from multiple source queues and immediately batching them for execution. This continuous batching process ensures that memory management remains efficient during parallel processing by keeping the memory interface continuously utilized without idle periods, while the systematic batching approach manages the complexity of coordinating multiple parallel memory operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3938912B1Memory controller management techniques
Publication Date: 2023.09.20 INTEL CORP
  • EP3938912B1 patent drawingFigure 1
  • EP3938912B1 patent drawingFigure 2A
  • EP3938912B1 patent drawingFigure 2B

AI summary

Methods and apparatus relating to memory controller techniques. In an example, an apparatus comprises a cache memory, a high-bandwidth memory, and a processor communicatively coupled to the cache memory and the high-bandwidth memory, the processor to manage data transfer between the cache memory and the high-bandwidth memory for memory access operations directed to the high-bandwidth memory. Other embodiments are also disclosed and claimed.