Multifunction Neural Network Pipeline for Low-Latency FPGA Nodes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Neural networks are expensive to deploy using general-purpose CPUs or GPUs, and GPUs provide increased throughput but suffer from poor latency in processing complex tasks like reading comprehension, language translation, and speech recognition.

Innovation Solution

A processor pipeline architecture that includes a matrix vector unit and multifunction units, where instructions are decoded and mapped for processing by specific units based on their types, allowing for efficient parallelization across multiple nodes, such as FPGAs, to perform neural network operations with reduced latency and increased throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If general-purpose CPUs are used to deploy neural networks, then deployment flexibility is maintained, but processing speed and efficiency deteriorate

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system segments neural network processing into distinct functional units: matrix-vector multiplication units for parallel computation, vector addition units for accumulation, and activation function units for non-linear transformations. This segmentation enables specialized hardware acceleration while maintaining overall system flexibility through programmable control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where processing units can be reconfigured and reassigned based on the specific neural network layer being executed. The control unit dynamically schedules operations across available hardware resources, allowing the system to adapt its processing capacity to match the computational requirements of different network architectures.

Inventive Principle:
Principle #15Dynamics

2Productivity

If GPUs are used to increase throughput, then processing capacity is improved, but latency deteriorates

Engineering Contradiction:
ImprovethroughputVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-loads weight matrices and bias vectors into on-chip memory before processing begins. This preliminary action eliminates the need for repeated memory accesses during computation, significantly reducing latency while maintaining high throughput. The activation functions are also pre-computed and stored in lookup tables for rapid retrieval during inference.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a pipelined architecture where multiple operations occur simultaneously at different stages: matrix-vector multiplication, vector addition, and activation function application all proceed in parallel through dedicated functional units. This continuous pipeline ensures that processing capacity is fully utilized without idle cycles, achieving both high throughput and low latency.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If specialized hardware is used to reduce latency, then processing speed is improved, but device complexity increases

Engineering Contradiction:
ImprovelatencyVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent designs multifunctional processing units that can execute different types of neural network operations. The same hardware blocks perform matrix-vector multiplication, vector addition, and activation function application by reconfiguring their internal connections and control logic. This multi-functionality reduces overall hardware complexity compared to having separate dedicated units for each operation.

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

Solution Approach 2:

The system employs a hierarchical structure where simple functional units (vector adders, activation units) are nested within larger processing modules (neural network processing units), which are in turn nested within the complete neural network processing system. This nested organization allows complex functionality to be built from simpler, reusable components, managing complexity through modular design.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11132599B2Multi-function unit for programmable hardware nodes for neural network processing
Publication Date: 2021.09.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11132599B2 patent drawing
  • US11132599B2 patent drawing
  • US11132599B2 patent drawing

AI summary

Processors and methods for neural network processing are provided. A method in a processor including a pipeline having a matrix vector unit (MVU), a first multifunction unit connected to receive an input from the MVU, a second multifunction unit connected to receive an output from the first multifunction unit, and a third multifunction unit connected to receive an output from the second multifunction unit is provided. The method includes decoding instructions including a first type of instruction for processing by only the MVU and a second type of instruction for processing by only one of the multifunction units. The method includes mapping a first instruction for processing by the matrix vector unit or to any one of the first multifunction unit, the second multifunction unit, or the third multifunction unit depending on whether the first instruction is the first type of instruction or the second type of instruction.