Strided 2D Tile Extraction for Faster Matrix Register Packing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processors face difficulties in efficiently handling large matrices due to the instruction-intensive nature of matrix operations, particularly when rows of a matrix need to be loaded into multiple packed data registers and scattered back to memory, which is inefficient for larger matrices.

Innovation Solution

The implementation of matrix operations using 2-dimensional data structures, referred to as tiles, which are acted upon by various operations such as multiplication, addition, and dot products, with support for operators like scale and bias, and the use of tile configuration instructions to optimize memory access and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional row-by-row loading of matrices into packed data registers is used, then compatibility with existing processor architectures is maintained, but processing efficiency deteriorates significantly for larger matrices

Engineering Contradiction:
Improvematrix processing efficiencyVSAvoidinstruction complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the matrix into tile structures that can be processed in parallel, dividing the complex task of loading and processing large matrices into manageable chunks. Each tile represents a segment of the matrix that can be independently manipulated, improving processing efficiency while maintaining architectural compatibility through structured instruction sets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a tile-based dimension to matrix processing, transitioning from traditional row-by-row scalar processing to a two-dimensional tile approach. This dimensional change enables parallel processing of multiple matrix elements simultaneously, significantly improving productivity for large matrix operations without requiring complete redesign of the processor architecture.

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

2Speed

If matrix operations are performed using traditional scalar instructions, then processor architecture simplicity is maintained, but processing time increases significantly for large matrices

Engineering Contradiction:
Improvematrix operation speedVSAvoidprocessing time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent merges multiple scalar operations into unified tile-based instructions that can execute in parallel. By combining loading, processing, and storage operations into tile-level operations, the system achieves faster processing speeds for large matrices while reducing the total processing time through parallel execution of multiple operations simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

3Use of energy by moving object

If rows of matrices are loaded into multiple packed data registers and scattered back to memory, then data processing capability is maintained, but memory access efficiency deteriorates

Engineering Contradiction:
Improvememory access efficiencyVSAvoiddata processing throughput
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent implements preliminary tile configuration and loading operations that prepare data in advance for processing. By pre-loading tiles into dedicated registers and configuring the tile processing units beforehand, the system optimizes memory access patterns and reduces the need for repeated memory scattering operations, thereby improving memory access efficiency and overall data processing throughput.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12474928B2Processors, methods, systems, and instructions to select and store data elements from strided data element positions in a first dimension from three source two-dimensional arrays in a result two-dimensional array
Publication Date: 2025.11.18 INTEL CORP
  • US12474928B2 patent drawing
  • US12474928B2 patent drawing
  • US12474928B2 patent drawing

AI summary

Techniques for extracting strided data elements from three source two dimensional (2D) arrays are described. A processor of an aspect includes a decoder circuitry to decode an instruction having an opcode. The instruction may indicate a first source 2D array, a second source 2D array, and a third source 2D array. Execution circuitry is coupled with the decoder circuitry. The execution circuitry is to execute the decoded instruction to select, for each one dimensional (1D) array of data elements in a first dimension, of each of the first, second, and third source 2D arrays, only a plurality of data elements at data element positions separated by a stride of three. The execution circuitry is also to store the selected plurality of data elements in a result 2D array in a destination storage location. Other processors, methods, systems, and instructions are disclosed.