SOMAC Instruction Pruning via Macro-Instruction Iterator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The computationally intensive Multiply-Accumulate (MAC) operations in neural networks, particularly during graph streaming processing, are resource-heavy and require optimization to reduce operational overhead.

Innovation Solution

A method and system that schedules and executes threads on a Graph Streaming processor, utilizing a thread arbiter and macro-instruction iterator to identify and optimize Sum-Of-Multiply-Accumulate (SOMAC) instructions by determining instruction size, skipping iterations where source operands are zero, and using an instruction mask to disable unnecessary iterations, thereby reducing the number of operations performed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If SOMAC instructions are executed with full iterations as indicated by instruction size, then computational completeness is maintained, but operational overhead increases

Engineering Contradiction:
Improvecomputational completenessVSAvoidoperational overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by executing only the necessary number of iterations for SOMAC instructions rather than always executing the full instruction size. The system determines the actual number of iterations needed and executes only that many, avoiding unnecessary operations while maintaining computational completeness.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes the iteration parameter dynamically based on the actual computational needs. Instead of using the fixed instruction size as the iteration count, the system adjusts the iteration parameter to match the actual number of operations required, thereby reducing operational overhead while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all iterations of SOMAC instructions are executed, then processing thoroughness is ensured, but processing time increases

Engineering Contradiction:
Improveprocessing thoroughnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs only the partial number of iterations that are actually necessary for correct processing. By analyzing the instruction and determining the minimal required iterations, the system avoids executing excessive iterations that would waste time while ensuring processing thoroughness is maintained for the necessary operations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent performs preliminary analysis of the SOMAC instruction to determine the actual number of iterations needed before execution. This preliminary action allows the system to prepare the correct iteration count in advance, avoiding unnecessary iterations and reducing processing time while ensuring thoroughness.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If MAC operations are performed without optimization, then computational accuracy is maintained, but resource utilization decreases

Engineering Contradiction:
Improvecomputational accuracyVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and removes unnecessary iterations from SOMAC instructions. By identifying and eliminating redundant operations where the instruction size exceeds the actual needed iterations, the system maintains computational accuracy while improving resource utilization by reducing the number of MAC operations performed.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the iteration parameter from the original instruction size to an optimized value that reflects the actual computational needs. This parameter change ensures that enough iterations are performed to maintain accuracy while avoiding excessive iterations that would degrade resource utilization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11481223B2Reducing operations of sum-of-multiply-accumulate (SOMAC) instructions
Publication Date: 2022.10.25 BLAIZE INC
  • US11481223B2 patent drawing
  • US11481223B2 patent drawing
  • US11481223B2 patent drawing

AI summary

Methods, systems and apparatuses for reducing operations of Sum-Of-Multiply-Accumulate (SOMAC) instructions are disclosed. One method includes scheduling, by a scheduler, a thread for execution, executing, by a processor of a plurality of processors, the thread, fetching, by the processor, a plurality of instructions for the thread from a memory, selecting, by a thread arbiter of the processor, an instruction of the plurality of instructions for execution in an arithmetic logic unit (ALU) pipeline of the processor, and reading the instruction, and determining, by a macro-instruction iterator of the processor, whether the instruction is a Sum-Of-Multiply-Accumulate (SOMAC) instruction with an instruction size, wherein the instruction size indicates a number of iterations that the SOMAC instruction is to be executed.