Interruptible Matrix Multiplication Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processors face challenges in efficiently performing matrix multiplication operations, particularly in handling interruptions and resuming calculations accurately, which affects the performance and reliability of matrix operations.

Innovation Solution

The development of interruptible and restartable matrix multiplication instructions and processors that include a decode unit and execution unit capable of receiving and performing these instructions. The processor stores a completion progress indicator to track the progress of matrix multiplication before an interruption, allowing for seamless resumption of calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional matrix multiplication instructions are used in processors, then basic computational functionality is provided, but the instructions cannot be interrupted or resumed, leading to loss of computation progress when interruptions occur

Engineering Contradiction:
Improvecomputation reliabilityVSAvoidcomputation time loss
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processor performs preliminary actions by storing the completion progress indicator before an interruption can occur. This allows the computation state to be saved in advance, enabling resumption without losing computational progress when an interruption happens.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The processor uses feedback by monitoring and storing the completion progress indicator that reflects the current state of matrix multiplication. This feedback mechanism enables the system to track computation progress and resume accurately after interruptions.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If matrix multiplication operations are interrupted, then processor can handle other tasks, but resuming the calculation becomes complex and error-prone

Engineering Contradiction:
Improveprocessor adaptabilityVSAvoidresumption complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The completion progress indicator serves as an intermediary that mediates between the interrupted matrix multiplication operation and the resumption process. This intermediary stores the necessary state information, simplifying the resumption logic and reducing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If traditional instructions are used without completion progress tracking, then instruction simplicity is maintained, but accurate resumption after interruption is not possible

Engineering Contradiction:
Improveinstruction simplicityVSAvoidcomputation progress tracking precision
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The matrix multiplication instruction serves itself by automatically managing the completion progress indicator. The instruction handles its own state tracking and resumption requirements without requiring external intervention, maintaining simplicity while enabling precise progress tracking.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250138823A1Interruptible and restartable matrix multiplication instructions, processors, methods, and systems
Publication Date: 2025.05.01 INTEL CORP
  • US20250138823A1 patent drawing
  • US20250138823A1 patent drawing
  • US20250138823A1 patent drawing

AI summary

A processor of an aspect includes a decode unit to decode a matrix multiplication instruction. The matrix multiplication instruction is to indicate a first memory location of a first source matrix, is to indicate a second memory location of a second source matrix, and is to indicate a third memory location where a result matrix is to be stored. The processor also includes an execution unit coupled with the decode unit. The execution unit, in response to the matrix multiplication instruction, is to multiply a portion of the first and second source matrices prior to an interruption, and store a completion progress indicator in response to the interruption. The completion progress indicator to indicate an amount of progress in multiplying the first and second source matrices, and storing corresponding result data to the third memory location, that is to have been completed prior to the interruption.