Tiled 16-Bit Floating-Point Instructions for Matrix Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processors face challenges in efficiently handling matrix operations, particularly with larger matrices, due to the complexity and instruction intensity involved in matrix multiplication tasks, which can be inefficient and resource-intensive.

Innovation Solution

The implementation of 2-dimensional data structures called tiles, which are used to represent packed regions of memory, and specialized instructions such as the TILE16BDP for performing 16-bit floating-point matrix dot products, optimize matrix operations by configuring and operating on these tiles, including operations like multiplication, addition, and dot products, using hardware support in CPUs, GPUs, and accelerators.

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 efficiency and throughput are insufficient

Engineering Contradiction:
Improvematrix operation throughputVSAvoidprocessor architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the matrix operation processing into specialized segments: a matrix multiplication unit dedicated to GEMM operations, separate instruction fetch/decode units for matrix operations versus general operations, and tiled data structures that segment large matrices into manageable blocks. This segmentation allows the processor to achieve high throughput for matrix operations without requiring the entire processor architecture to be specialized, thus resolving the contradiction between productivity improvement and device complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If low precision arithmetic is used to maximize throughput, then computational speed increases, but measurement precision may be compromised

Engineering Contradiction:
Improvedeep learning computation speedVSAvoidnumerical accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements support for multiple precision formats (16-bit, 32-bit, 64-bit floating point and integer types) and allows dynamic selection of precision levels based on application requirements. The matrix multiplication unit can process different data types with appropriate precision, enabling high-speed computation with 16-bit formats when sufficient while maintaining the option to use higher precision formats when numerical accuracy is critical, thus resolving the contradiction between productivity and measurement precision.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If specialized hardware for matrix multiplication is implemented, then energy efficiency and peak compute improve, but device complexity and manufacturing difficulty increase

Engineering Contradiction:
Improveenergy efficiency of matrix operationsVSAvoidprocessor fabrication complexity
Core Design Contradiction:
Use of energy by moving objectVSEase of manufacture

Solution Approach 1:

The patent designs the matrix multiplication unit to be integrated within a general-purpose processor architecture, allowing the same hardware structure to serve both specialized matrix operations and general computational tasks. The unified design shares resources such as memory interfaces, register files, and control logic between matrix and non-matrix operations, reducing manufacturing complexity while maintaining energy efficiency for matrix workloads. This multi-functionality approach resolves the contradiction between energy efficiency improvement and ease of manufacture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP4276609B1Systems and methods for performing 16-bit floating-point matrix dot product instructions
Publication Date: 2025.09.17 INTEL CORP
  • EP4276609B1 patent drawingFigure 1A~1B
  • EP4276609B1 patent drawingFigure 2(A)~2(C)
  • EP4276609B1 patent drawingFigure 3

AI summary

Disclosed embodiments relate to computing dot products of nibbles in tile operands. In one example, a processing unit comprises fetch circuitry to fetch an instruction, decode circuitry to decode the instruction, the instruction having a first field to specify a first storage location of a plurality of data elements corresponding to a first matrix having M rows by N columns of 32-bit single precision floating-point data elements, a second field to specify a second storage location of a plurality of data elements corresponding to a second matrix having M rows by K columns of pairs of 16-bit floating-point data elements having a bfloat16 format, and a third field to specify a third storage location of a plurality of data elements corresponding to a third matrix having K rows by N columns of pairs of 16-bit floating-point data elements having the bfloat16 format, and execution circuitry coupled with the decode circuitry, the execution circuitry to perform operations corresponding to the instruction.