Hierarchical Stream Buffering for GEMM Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for general matrix multiplication in machine learning, particularly in deep neural networks, face challenges with high double data rate (DDR) memory bandwidth requirements, which hinder computational efficiency and power management in software-defined accelerators.

Innovation Solution

The implementation of hierarchical buffering and partitioning techniques for matrix multiplication, using a programmable integrated circuit (IC), where matrices are divided into blocks and loaded into buffers according to specific row and column sizes, allowing for efficient streaming and accumulation of products in a compute array, reducing DDR bandwidth demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If matrices are loaded entirely from DDR memory into compute arrays for multiplication, then computational accuracy is maintained, but DDR memory bandwidth consumption increases significantly

Engineering Contradiction:
Improvecomputational accuracyVSAvoidDDR memory bandwidth consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent divides large matrices into smaller sub-matrices or blocks that can be loaded into on-chip buffer memory. This segmentation allows the system to process matrix multiplication in chunks, reducing the amount of data that needs to be transferred from DDR memory at any one time while maintaining computational accuracy through systematic accumulation of partial results.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-loads matrix data into on-chip buffer memory before computation begins. By preparing data in advance in high-speed buffer memory, the system reduces the need for repeated DDR memory access during computation, thereby reducing overall DDR bandwidth consumption while ensuring data is ready for accurate processing.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If hierarchical buffering and partitioning are implemented, then DDR bandwidth consumption is reduced, but device complexity increases

Engineering Contradiction:
ImproveDDR bandwidth consumptionVSAvoidbuffering and partitioning structure complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements a hierarchical buffering structure where buffers are organized in multiple levels or nested configurations. This nesting allows data to be cached at different hierarchy levels, with higher-level buffers serving as intermediaries between DDR memory and compute arrays, thereby reducing DDR bandwidth consumption through structured data management.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces additional organizational dimensions to data storage and access, such as temporal caching layers or multi-level buffer hierarchies. By adding these dimensional layers between DDR memory and compute arrays, the system reduces direct DDR bandwidth requirements while managing complexity through structured organizational frameworks.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Speed

If data is streamed continuously from DDR memory to compute arrays, then computational speed is maintained, but power consumption increases

Engineering Contradiction:
Improvecomputational speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent introduces on-chip buffer memory as an intermediary between DDR memory and compute arrays. This intermediary buffer allows data to be transferred once from DDR to buffer, then reused multiple times for computation without repeated DDR access. This maintains computational speed by keeping data readily available in fast buffer memory while significantly reducing power consumption by eliminating frequent high-energy DDR memory transactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent ensures continuous data availability in on-chip buffers during computation, allowing the compute arrays to operate continuously without stalling for DDR memory access. This continuity maintains high computational speed while reducing power consumption by eliminating the energy-intensive repeated DDR memory access cycles that would otherwise be required.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10354733B1Software-defined memory bandwidth reduction by hierarchical stream buffering for general matrix multiplication in a programmable IC
Publication Date: 2019.07.16 XILINX INC
  • US10354733B1 patent drawing
  • US10354733B1 patent drawing
  • US10354733B1 patent drawing

AI summary

Methods and apparatus are described for partitioning and reordering block-based matrix multiplications for high-speed data streaming in general matrix multiplication (GEMM), which may be implemented by a programmable integrated circuit (IC). By preloading and hierarchically caching the blocks, examples of the present disclosure reduce the double data rate (DDR) memory intake bandwidth for software-defined GEMM accelerators.