Matrix Multiply Accelerator Engine with Broadcast and Unicast Interconnects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies face challenges in performing matrix multiplication efficiently, particularly in energy-constrained, thermally restrained, and low-cost embedded platforms, due to high energy consumption, latency issues, and reduced precision when scaling down algorithms, and existing methods like CPU-based, systolic array, and GPU-based approaches have limitations such as power inefficiency, data mapping challenges, and hardware overheads.

Innovation Solution

The proposed solution involves a hardware-software co-design approach with a dedicated matrix multiply accelerator engine that includes a micro-architecture with a multi-channel n-stage accumulator, broadcast and unicast interconnects, and a data path controller for efficient data handling, allowing for spatial and temporal reuse of operands, and in-place transpose/computation to reduce memory access and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If CPU-based matrix multiplication is used, then versatility is maintained, but power consumption increases and processing speed decreases

Engineering Contradiction:
Improvealgorithm scalabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The matrix multiplication operation is segmented into multiple pipelines, each handling specific matrix dimensions. This allows parallel processing of different segments simultaneously, reducing overall power consumption while maintaining the ability to handle various matrix sizes through dynamic pipeline configuration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator engine employs dynamic pipeline activation where only the necessary pipelines are activated based on the input matrix dimensions. This dynamic adaptation reduces power consumption by avoiding activation of unnecessary processing units while maintaining versatility for different matrix sizes.

Inventive Principle:
Principle #15Dynamics

2Productivity

If GPU-based matrix multiplication is used, then processing speed increases, but hardware overhead and cost increase

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Instead of using a full GPU architecture, the invention implements a specialized matrix multiplication accelerator with locally optimized components specifically designed for this operation. This includes dedicated multipliers, accumulators, and memory structures tailored for matrix operations, achieving high processing speed without the overhead of a general-purpose GPU.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The invention extracts only the essential matrix multiplication functionality from a general-purpose processor or GPU, creating a dedicated accelerator engine that performs this specific operation efficiently. This extraction removes unnecessary hardware overhead while maintaining high processing speed for matrix operations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If systolic array is used, then processing speed increases, but data mapping complexity and hardware overhead increase

Engineering Contradiction:
Improveprocessing speedVSAvoiddata mapping challenges
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention implements a simplified array structure that performs only the essential matrix multiplication operations without the complex data mapping and communication overhead of full systolic arrays. By focusing on the core computation and using standard memory interfaces, it achieves high processing speed while reducing hardware complexity.

Inventive Principle:
Principle #16Partial or excessive action

4Area of stationary object

If algorithms are scaled down for embedded platforms, then device size reduces, but precision and reliability decrease

Engineering Contradiction:
Improvedevice sizeVSAvoidcomputational precision
Core Design Contradiction:
Area of stationary objectVSMeasurement precision

Solution Approach 1:

The accelerator engine uses parameter changes in the computational approach, implementing high-precision multipliers and accumulators that maintain full precision arithmetic even in scaled-down embedded implementations. This allows the device to be compact while preserving computational precision through optimized arithmetic logic design.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The invention replaces software-based matrix multiplication with a hardware-accelerated engine that performs computations directly in circuitry. This substitution maintains high precision through dedicated hardware arithmetic units while reducing device size by eliminating the need for large software execution environments.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11347828B2Methods, apparatus, articles of manufacture to perform accelerated matrix multiplication
Publication Date: 2022.05.31 INTEL CORP
  • US11347828B2 patent drawing
  • US11347828B2 patent drawing
  • US11347828B2 patent drawing

AI summary

A disclosed apparatus to multiply matrices includes a compute engine. The compute engine includes multipliers in a two dimensional array that has a plurality of array locations defined by columns and rows. The apparatus also includes a plurality of adders in columns. A broadcast interconnect between a cache and the multipliers broadcasts a first set of operand data elements to multipliers in the rows of the array. A unicast interconnect unicasts a second set of operands between a data buffer and the multipliers. The multipliers multiply the operands to generate a plurality of outputs, and the adders add the outputs generated by the multipliers.