Structured-Sparse Tile Matrix FMA for Faster Processor Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer processors face challenges in efficiently handling matrix operations, particularly for larger matrices, due to the complexity and instruction intensity involved in matrix manipulation tasks, which can lead to suboptimal performance in applications like deep learning.

Innovation Solution

The implementation of 2-dimensional data structures called tiles, which are configured to facilitate matrix operations through mechanisms such as matrix (tile) multiplication, addition, and accumulation, utilizing hardware support for packed data registers and fused multiply accumulate operations, enabling efficient handling of larger matrices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional matrix multiplication methods are used on general-purpose processors, then flexibility and adaptability are maintained, but computational throughput and energy efficiency deteriorate

Engineering Contradiction:
Improvecomputational throughputVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor architecture is segmented into distinct functional units: general-purpose cores for control and specialized matrix processing units (MPUs) for computational tasks. Matrices are further segmented into tiles that can be processed in parallel across multiple MPUs, enabling high throughput while keeping individual processing units relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A tile-based intermediate representation is introduced as a mediator between general-purpose processor instructions and hardware execution. The tile format serves as an intermediary data structure that enables efficient mapping to parallel hardware operations, bridging the gap between software flexibility and hardware acceleration.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If matrix operations are performed using standard instruction sequences, then compatibility with existing software is maintained, but execution time and computational overhead increase

Engineering Contradiction:
Improvematrix operation speedVSAvoidinstruction execution time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

Matrices are pre-processed and organized into tile formats before being passed to the matrix processing units. This preliminary organization of data into appropriate tile structures enables the hardware to execute operations directly without additional processing overhead during computation, significantly reducing execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The processor supports multiple tile configurations with different dimensions and data types (e.g., FP32, FP16, INT8). By changing the tile parameters to match the specific computational requirements, the system optimizes execution speed for different matrix operation scenarios while maintaining compatibility through a unified instruction interface.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If higher precision floating-point operations are used, then computational accuracy is improved, but energy consumption and processing time increase

Engineering Contradiction:
Improvecomputational precisionVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The matrix processing units dynamically adapt their precision based on the input data characteristics and computational requirements. The system can switch between different precision modes (FP32, FP16, INT8) for different tiles or even different operations within the same matrix multiplication, optimizing the balance between accuracy and energy consumption for each specific computational task.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different tile configurations support different data type precisions. By changing the precision parameter of the tile format, the system can perform high-precision operations when needed and low-precision operations when sufficient, reducing overall energy consumption while maintaining required accuracy levels for deep learning workloads.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4155913B1Apparatuses, methods, and systems for instructions for structured-sparse tile matrix fma
Publication Date: 2025.07.02 INTEL CORP
  • EP4155913B1 patent drawingFigure 1A~1B
  • EP4155913B1 patent drawingFigure 2(A)~2(C)
  • EP4155913B1 patent drawingFigure 3

AI summary

Systems, methods, and apparatuses relating sparsity based FMA. In some examples, an instance of a single FMA instruction has one or more fields for an opcode, one or more fields to identify a source/destination matrix operand, one or more fields to identify a first plurality of source matrix operands, one or more fields to identify a second plurality of matrix operands, wherein the opcode is to indicate that execution circuitry is to select a proper subset of data elements from the first plurality of source matrix operands based on sparsity controls from a first matrix operand of the second plurality of matrix operands and perform a FMA.