Neural Network Accelerator ISA for Fast Matrix and Data-Move Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

General-purpose processors are not optimized for the unique computational requirements of neural networks, such as matrix multiplication and nonlinear functions, leading to inefficiencies in performing neural network operations.

Innovation Solution

A neural network accelerator (NNA) with a specialized instruction set architecture (ISA) that includes configurable instructions for performing neural network tasks, supporting various data sizes and synchronization mechanisms to efficiently execute operations within a compute engine, comprising a host interface, control sequencer, neural processing units, and local memory buffers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If general-purpose processors are used for neural network computations, then versatility is maintained, but processing speed and efficiency deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidversatility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The processor is segmented into multiple specialized compute engines, each optimized for specific neural network operations such as matrix multiplication, convolution, and activation functions. This segmentation allows parallel processing of different neural network layers or batches, dramatically improving processing speed while maintaining overall system versatility through the combination of specialized units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor employs dynamic reconfiguration capabilities where compute engines can be dynamically allocated and configured based on the specific neural network workload requirements. This allows the system to adapt its architecture runtime, optimizing for different operation types (e.g., switching between GEMM and convolution modes) while maintaining versatility across various neural network models.

Inventive Principle:
Principle #15Dynamics

2Productivity

If specialized instructions are added to the instruction set, then execution efficiency for neural network operations is improved, but instruction set complexity increases

Engineering Contradiction:
Improveexecution efficiencyVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The specialized instruction set uses multi-functional opcodes that can perform different neural network operations based on operand types and configuration parameters. For example, a single instruction format can handle matrix multiplication, element-wise operations, and activation functions by varying the operational parameters, thereby improving execution efficiency without proportionally increasing instruction set complexity.

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

Solution Approach 2:

The instruction set employs parameter-based configuration where a base instruction format remains relatively simple, but operational characteristics are controlled through parameters embedded in the instruction or passed via registers. This allows the same instruction framework to efficiently support multiple neural network operations by changing parameters rather than creating entirely new instruction formats for each operation type.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If memory overhead is reduced through compact data formats, then memory bandwidth efficiency is improved, but computational precision may deteriorate

Engineering Contradiction:
Improvememory bandwidth efficiencyVSAvoidcomputational precision
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The memory system implements nested data formats where low-precision representations (e.g., 8-bit or 4-bit integers) are used for storing weights and activations to improve memory bandwidth efficiency, while high-precision floating-point units are nested within the compute engines for actual computations. This nested approach allows compact storage and efficient memory access while maintaining computational precision when needed.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The system dynamically changes precision parameters based on operational requirements. During data loading and memory transfer, lower precision formats are used to maximize bandwidth efficiency. During critical computation stages requiring higher accuracy, the system automatically switches to higher precision formats through parameter changes, thereby balancing memory efficiency and computational precision adaptively.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11520561B1Neural network accelerator with compact instruct set
Publication Date: 2022.12.06 AMAZON TECH INC
  • US11520561B1 patent drawing
  • US11520561B1 patent drawing
  • US11520561B1 patent drawing

AI summary

Described herein is a neural network accelerator with a set of neural processing units and an instruction set for execution on the neural processing units. The instruction set is a compact instruction set including various compute and data move instructions for implementing a neural network. Among the compute instructions are an instruction for performing a fused operation comprising sequential computations, one of which involves matrix multiplication, and an instruction for performing an elementwise vector operation. The instructions in the instruction set are highly configurable and can handle data elements of variable size. The instructions also implement a synchronization mechanism that allows asynchronous execution of data move and compute operations across different components of the neural network accelerator as well as between multiple instances of the neural network accelerator.