Matrix Operations Circuitry Tile-Based Stencil Configuration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors face challenges in efficiently handling matrix operations, particularly for larger matrices, due to the complexity and instruction intensity required, which affects performance in applications like deep learning where matrix-matrix multiplication is a compute-heavy operation.

Innovation Solution

The implementation of matrix operations in computer hardware using 2-dimensional data structures referred to as 'tiles' allows for efficient processing through operations such as matrix multiplication, addition, and accumulation, with support for stencil configuration and computing instructions, enabling improved performance and energy efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional processor instruction sets are used for matrix operations, then general-purpose computing is maintained, but processing performance and energy efficiency deteriorate for large matrix operations

Engineering Contradiction:
Improvematrix operation performanceVSAvoidenergy efficiency
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent divides large matrix operations into smaller tile-based segments that can be processed efficiently by the matrix operations circuitry. The matrix is partitioned into tiles that match the circuitry's processing capacity, enabling parallel processing of multiple tiles simultaneously, thus improving both performance and energy efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The matrix operations circuitry is designed to perform multiple types of operations (matrix multiplication, addition, accumulation) using the same hardware infrastructure. This multi-functionality allows the system to handle various deep learning workloads efficiently without requiring separate specialized hardware for each operation type.

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

2Productivity

If traditional processor instruction sets are used for matrix operations, then instruction set compatibility is maintained, but instruction intensity and processing complexity increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidinstruction intensity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces software-based matrix operation instructions with dedicated hardware circuitry that performs matrix operations directly. This substitution eliminates the need for complex instruction sequences in the processor's instruction set, reducing instruction intensity while dramatically improving processing throughput for matrix operations.

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

3Power

If matrix operations are implemented using standard processors, then hardware simplicity is maintained, but compute capability and energy efficiency worsen for deep learning applications

Engineering Contradiction:
Improvepeak computeVSAvoidenergy efficiency
Core Design Contradiction:
PowerVSUse of energy by moving object

Solution Approach 1:

The patent introduces a specialized matrix operations circuitry dimension alongside the traditional processor architecture. This additional computational dimension provides dedicated hardware paths for matrix operations, enabling high peak compute performance while maintaining energy efficiency through hardware-optimized processing paths that eliminate software overhead.

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

Data Source

PatentUS10922077B2Apparatuses, methods, and systems for stencil configuration and computation instructions
Publication Date: 2021.02.16 INTEL CORP
  • US10922077B2 patent drawing
  • US10922077B2 patent drawing
  • US10922077B2 patent drawing

AI summary

Systems, methods, and apparatuses relating to performing stencil configuration and computation operations are described. In one embodiment, a matrix operations accelerator circuit includes a two-dimensional grid of fused multiply accumulate circuits coupled by a network; a first plurality of registers that represents a first two-dimensional matrix coupled to the matrix operations accelerator circuit; a second plurality of registers that represents a second two-dimensional matrix coupled to the matrix operations accelerator circuit; a decoder, of a core coupled to the matrix operations accelerator circuit, to decode a single instruction into a decoded single instruction; and an execution circuit of the core to execute the decoded single instruction to: switch the matrix operations accelerator circuit from a first mode to a second mode where a first set of input values from the first plurality of registers is sent to a first plurality of fused multiply accumulate circuits that form a first row of the two-dimensional grid, a second set of input values from the first plurality of registers is sent to a second plurality of fused multiply accumulate circuits that form a second row of the two-dimensional grid, a first coefficient value from the second plurality of registers is broadcast to a third plurality of fused multiply accumulate circuits that form a first column of the two-dimensional grid, and a second coefficient value from the second plurality of registers is broadcast to a fourth plurality of fused multiply accumulate circuits that form a second column of the two-dimensional grid.