Low Power Parallel Matrix Multiply Pipeline

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Matrix multiply operations on stream processors are power-intensive and time-consuming, necessitating improvements in performance, power consumption, and latency.

Innovation Solution

A low power parallel matrix multiply pipeline is implemented using multiple vector register files and execution pipelines with dot product units that perform dot product and outer product operations, allowing for overlapping execution and reduced memory bandwidth, thereby optimizing matrix multiply operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If matrix multiply operations are performed on stream processors using conventional sequential methods, then the operations can be completed with simple architecture, but the power consumption is high and the execution time is long

Engineering Contradiction:
Improvepower consumptionVSAvoidpipeline complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The matrix multiply operation is divided into multiple independent dot product units that operate in parallel. Each dot product unit processes a specific element of the result matrix independently, allowing the computation to be segmented into simultaneous operations rather than sequential execution, thereby reducing overall power consumption while maintaining computational completeness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-pipeline execution to parallel multi-pipeline execution by adding a temporal dimension to the computation. Multiple dot product units operate simultaneously on different data elements, effectively moving the computation from a one-dimensional sequential process to a multi-dimensional parallel process, which reduces power consumption per operation

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

2Productivity

If conventional matrix multiply operations are used on stream processors, then the implementation is simple, but the latency is high and throughput is low

Engineering Contradiction:
ImprovethroughputVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The computation is segmented into multiple dot product units that can operate simultaneously. Each unit is responsible for computing a specific element of the result matrix, allowing multiple computations to proceed in parallel rather than sequentially, thereby increasing throughput and reducing latency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements continuous data flow through the pipeline where input data is continuously fed into multiple dot product units, and results are continuously generated and written back to register files. This continuous operation eliminates idle cycles and maintains productive action throughout the computation process, maximizing throughput

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If multiple dot product units operate in parallel, then throughput increases, but data movement and memory bandwidth requirements increase

Engineering Contradiction:
ImprovethroughputVSAvoiddata movement
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Input data is pre-loaded into vector register files before the parallel computation begins. This preliminary action allows multiple dot product units to access their required operands from fast on-chip memory rather than requiring continuous access to external memory, thereby reducing the overall data movement burden while maintaining high throughput

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Vector register files serve as intermediary storage between external memory and the parallel dot product units. These intermediaries buffer the data, allowing parallel units to operate continuously without directly competing for external memory bandwidth, thus enabling high throughput with controlled data movement

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12067401B2Stream processor with low power parallel matrix multiply pipeline
Publication Date: 2024.08.20 ADVANCED MICRO DEVICES INC
  • US12067401B2 patent drawing
  • US12067401B2 patent drawing
  • US12067401B2 patent drawing

AI summary

Systems, apparatuses, and methods for implementing a low power parallel matrix multiply pipeline are disclosed. In one embodiment, a system includes at least first and second vector register files coupled to a matrix multiply pipeline. The matrix multiply pipeline comprises a plurality of dot product units. The dot product units are configured to calculate dot or outer products for first and second sets of operands retrieved from the first vector register file. The results of the dot or outer product operations are written back to the second vector register file. The second vector register file provides the results from the previous dot or outer product operations as inputs to subsequent dot or outer product operations. The dot product units receive the results from previous phases of the matrix multiply operation and accumulate these previous dot or outer product results with the current dot or outer product results.