Ternary Tile Logic Operations for Matrix Processing Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mainstream processors face difficulties in efficiently handling large matrices, requiring extensive instruction sets and resources due to the need to operate on rows of matrices packed into multiple data registers, which becomes inefficient with larger matrices.

Innovation Solution

The implementation of matrix operations using 2-dimensional data structures referred to as 'tiles' that can be configured for different dimensions and datatypes, allowing for optimized execution of operations such as multiplication, addition, and comparison across multiple source matrices, including ternary tile operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If matrices are operated on using traditional row-based packing into multiple data registers, then processing can be performed on existing processor architectures, but the number of instructions and resources required increases significantly for larger matrices

Engineering Contradiction:
Improvecompatibility with existing processor architecturesVSAvoidnumber of instructions and resources required
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent transitions from traditional row-based 1D data register packing to a 2D tile-based structure. Matrices are divided into tiles that can be processed as unified 2D structures, allowing operations to exploit both row and column dimensions simultaneously. This dimensional change reduces the number of instructions needed for large matrix operations while maintaining compatibility with existing SIMD processor architectures through appropriate tile size selection.

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

2Ease of manufacture

If traditional row-based matrix operations are used, then existing processor instructions can be utilized, but processing efficiency decreases for large matrices due to extensive instruction sets required

Engineering Contradiction:
Improveuse of existing processor instructionsVSAvoidprocessing efficiency for large matrices
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments large matrices into smaller tile units that can be processed efficiently. Each tile represents a manageable sub-matrix that fits within available data registers, allowing large-scale matrix operations to be decomposed into multiple tile-level operations. This segmentation enables reuse of existing processor instructions while achieving better productivity through reduced instruction overhead and improved data locality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple row-based operations into unified 2D tile operations. Instead of processing rows independently and requiring separate instructions for each row operation, the tile structure allows simultaneous manipulation of multiple rows and columns as a unified 2D structure, reducing the total number of instructions required while maintaining compatibility with existing SIMD instruction sets.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If multiple data registers are used to pack rows of matrices, then matrix operations can be performed, but power consumption increases due to extensive instruction execution

Engineering Contradiction:
Improveability to perform matrix operationsVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent enables more continuous and efficient utilization of data in registers by processing entire tiles rather than individual rows. Once data is loaded into tile structures, operations can proceed through multiple computational stages without repeated loading and storing, maintaining data in high-speed registers longer and reducing memory access frequency. This continuity reduces the total number of instruction executions and associated power consumption while maintaining full matrix operation capability.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP3623941B1Systems and methods for performing instructions specifying ternary tile logic operations
Publication Date: 2021.07.21 INTEL CORP
  • EP3623941B1 patent drawingFigure 1A~1B
  • EP3623941B1 patent drawingFigure 2(A)~2(C)
  • EP3623941B1 patent drawingFigure 3

AI summary

Disclosed embodiments relate to systems and methods for performing instructions specifying ternary tile operations. In one example, a processor includes fetch and decode circuitry to fetch and decode an instruction specifying a ternary tile operation, and locations of destination and first, second, and third source matrices, each of the matrices having M rows by N columns; and execution circuitry to respond to the decoded instruction by, for each equal-sized group of K elements of the specified first, second, and third source matrices, generate K results by performing the ternary tile operation in parallel on K corresponding elements of the specified first, second, and third source matrices, and store each of the K results to a corresponding element of the specified destination matrix, wherein corresponding elements of the specified source and destination matrices occupy a same relative position within their associated matrix.