Neural Network Processor Architecture for DNN Performance

Solution Overview

Problem

Deep Neural Networks (DNNs) pose significant computational challenges due to their complexity and data intensity, particularly in training and evaluation, which grows with larger datasets and more complex networks, leading to inefficiencies in both energy consumption and performance.

Innovation Solution

A scalable processor architecture with heterogeneous processing tiles and a 3-tiered interconnect topology is designed to leverage the compute and communication characteristics of DNNs, incorporating compute-intensive and memory-intensive tiles, and a low-overhead synchronization mechanism to improve processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional processors execute neural network instructions, then general-purpose computing is maintained, but processing performance and energy efficiency deteriorate due to the computational intensity and data movement requirements of DNNs

Engineering Contradiction:
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The processor is divided into heterogeneous processing tiles including compute-intensive tiles with multiple processing elements and memory-intensive tiles with large data arrays. This segmentation allows specialized handling of different computational workloads, improving both performance and energy efficiency for neural network operations by matching computation types to appropriate tile architectures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the processor have specialized characteristics: compute-intensive tiles are optimized for arithmetic operations with multiple processing elements, while memory-intensive tiles are optimized for data storage and access with large arrays. This local quality optimization reduces data movement between regions and improves energy efficiency for specific computational tasks.

Inventive Principle:
Principle #3Local quality

2Reliability

If larger datasets and more complex networks are used, then model accuracy and capability improve, but computational complexity and data movement requirements increase

Engineering Contradiction:
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The processor introduces a spatial dimension to computation by organizing processing elements and data arrays in multi-dimensional configurations within tiles. This allows parallel processing of large datasets across multiple processing elements simultaneously, handling complex neural networks without proportionally increasing sequential computational complexity.

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

Solution Approach 2:

Multiple copies of processing elements and data arrays are created within and across tiles to enable parallel processing. This copying strategy allows the same computational operations to be performed simultaneously on different data partitions, improving throughput for complex models while maintaining manageable per-element complexity.

Inventive Principle:
Principle #26Copying

3Productivity

If data movement between memory and processor is increased, then more comprehensive computations can be performed, but energy consumption and processing time increase

Engineering Contradiction:
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Compute-intensive and memory-intensive tiles are merged into a unified processor architecture with direct interconnects. This merging eliminates the need for frequent data transfers to external memory, allowing comprehensive computations to be performed with data kept within the processor boundary, thereby reducing both time and energy overhead.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Data is pre-loaded into memory-intensive tiles before computation begins, and compute-intensive tiles are pre-configured with processing elements ready for operation. This preliminary action reduces idle time during computation and minimizes data movement overhead during the actual processing phase.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240118892A1Apparatuses, methods, and systems for neural networks
Publication Date: 2024.04.11
  • US20240118892A1 patent drawing
  • US20240118892A1 patent drawing
  • US20240118892A1 patent drawing

AI summary

Methods and apparatuses relating to processing neural networks are described. In one embodiment, an apparatus to process a neural network includes a plurality of fully connected layer chips coupled by an interconnect; a plurality of convolutional layer chips each coupled by an interconnect to a respective fully connected layer chip of the plurality of fully connected layer chips and each of the plurality of fully connected layer chips and the plurality of convolutional layer chips including an interconnect to couple each of a forward propagation compute intensive tile, a back propagation compute intensive tile, and a weight gradient compute intensive tile of a column of compute intensive tiles between a first memory intensive tile and a second memory intensive tile.