ASIC Tile Architecture for Parallel Neural Network Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for neural networks, particularly convolutional neural networks, face inefficiencies in computation due to software-based methods that perform dot products and activation functions sequentially, leading to increased latency and reduced bandwidth in processing large datasets.

Innovation Solution

The implementation of a tile-based architecture within an application-specific integrated circuit (ASIC) that includes a computational array, local memory, and controllable bus lines, allowing for parallel processing and data transfer between tiles, thereby reducing latency and increasing bandwidth by enabling simultaneous computation and data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If software-based methods are used to perform dot products and activation functions sequentially, then ease of implementation is improved, but processing speed and bandwidth deteriorate

Engineering Contradiction:
Improveease of implementationVSAvoidprocessing speed
Core Design Contradiction:
Ease of manufactureVSSpeed

Solution Approach 1:

The patent replaces software-based sequential processing with hardware-based parallel processing using computational arrays. Each cell in the computational array performs dot product operations simultaneously, substituting the mechanical/software execution model with a hardware parallel computation model, thereby dramatically increasing processing speed while maintaining ease of implementation through fixed hardware architecture

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The computational array is segmented into multiple independent cells that can operate in parallel. Each cell processes a portion of the input data independently, allowing simultaneous computation of multiple dot products. This segmentation enables the system to achieve high processing speeds while keeping each individual cell simple to implement

Inventive Principle:
Principle #1Segmentation

2Device complexity

If software-based sequential processing is used, then device complexity is reduced, but latency increases

Engineering Contradiction:
Improvedevice complexityVSAvoidlatency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The processing pipeline is segmented into distinct stages: data input, computational array processing, local memory storage, and output. This segmentation allows different stages to operate simultaneously and independently, reducing overall latency while keeping each stage relatively simple in design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The local memory is positioned between the computational array and output stages to perform preliminary data storage and buffering. This preliminary action allows the computational array to continue processing while data is being prepared for output, overlapping computation and data transfer operations to reduce latency

Inventive Principle:
Principle #10Preliminary action

3Productivity

If parallel processing architecture is implemented, then processing efficiency is improved, but device complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each cell in the computational array is designed with identical local functionality, performing the same dot product operation on locally received data. This local quality uniformity simplifies the overall design while enabling parallel processing, as each cell is a simple, replicated unit rather than a complex heterogeneous system

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The computational array cells are designed as universal units that can process any input data through the same dot product operation. This universality allows the same hardware structure to handle different computational tasks by simply changing the input data, maintaining simplicity while achieving high processing efficiency through parallel operation

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

Data Source

PatentUS10879904B1Application specific integrated circuit accelerators
Publication Date: 2020.12.29 GOOGLE LLC
  • US10879904B1 patent drawing
  • US10879904B1 patent drawing
  • US10879904B1 patent drawing

AI summary

A tile including circuitry for use with machine learning models, the tile including: a first computational array of cells, in which the computational array of cells is a sub-array of a larger second computational array of cells; local memory coupled to the first computational array of cells; and multiple controllable bus lines, in which a first subset of the multiple controllable bus lines include multiple general purpose controllable bus lines couplable to the local memory.