RAPA Convolution for Analog Array Neural Network Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Convolutional neural networks (ConvNets) do not map favorably onto analog arrays, as the convolution operation is formulated as a matrix-matrix product, leading to inefficient computation time due to the need for iterated matrix-vector products proportional to the total number of image pixels, and existing speedup strategies like data parallelism are not practical for analog arrays with stationary weights.

Innovation Solution

The Replicated Arrays with Permuted Assignment (RAPA) Convolution method replicates the kernel matrix onto multiple analog array tiles and distributes the computation equally among them, allowing for parallel processing of image patches and reducing overall computation time by using model parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If convolution operation is formulated as matrix-matrix product on analog arrays, then computation can be performed using standard linear algebra operations, but computation time increases proportionally to the total number of image pixels due to iterated matrix-vector products

Engineering Contradiction:
Improveease of implementing convolution operationVSAvoidcomputation time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent divides the image into multiple patches and distributes them across multiple analog array tiles. Each tile processes a subset of image patches in parallel, transforming the single large matrix-matrix product into multiple smaller parallel operations. This segmentation reduces the computational burden on each individual analog array while maintaining the overall convolution function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by utilizing multiple analog array tiles simultaneously. Instead of processing the entire image through a single sequential matrix-matrix product, the system distributes computation across multiple spatial dimensions (multiple tiles processing multiple patches), effectively adding a parallel processing dimension to the computation.

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

2Loss of time

If data parallelism is used to speed up computation, then computation time may be reduced, but it is not practical for analog arrays with stationary weights

Engineering Contradiction:
Improvecomputation timeVSAvoidpracticality for analog arrays
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic mapping strategy where the assignment of image patches to analog array tiles is not fixed but can be permuted and reconfigured. This dynamic approach allows the system to adapt the distribution of computational tasks across tiles based on the specific convolution operation being performed, making the system practical for various ConvNet architectures while maintaining parallel processing benefits.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments both the image data and the analog array resources into manageable units (patches and tiles respectively). This segmentation enables a practical mapping strategy where each tile handles a specific subset of patches, making the parallel processing approach feasible and efficient for analog arrays with stationary weights.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If kernel matrix is replicated onto multiple analog array tiles, then parallel processing of image patches is enabled and computation time is reduced, but device complexity increases

Engineering Contradiction:
Improvecomputation timeVSAvoiddevice complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent replicates the kernel matrix across multiple analog array tiles, creating identical copies of the same computational logic. This copying approach enables parallel processing of different image patches without requiring complex inter-tile communication or coordination, as each tile independently performs the same convolution operation on its assigned patches using its local copy of the kernel matrix.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The replicated kernel matrices across multiple tiles provide universal computational capability, where each tile can process any image patch using the same set of filters. This multi-functionality allows the system to handle various ConvNet architectures and convolution operations without requiring specialized hardware configurations for each case.

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

Data Source

PatentUS11443176B2Acceleration of convolutional neural networks on analog arrays
Publication Date: 2022.09.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11443176B2 patent drawing
  • US11443176B2 patent drawing
  • US11443176B2 patent drawing

AI summary

Mechanisms are provided for acceleration of convolutional neural networks on analog arrays. Input ports receive image signals from frames in an input image. Input memory arrays store the image signals received from the input ports into a respective input memory location to create a plurality of image sub-regions in input memory arrays. A distributor associated each of a set of analog array tiles in an analog array to a part of image sub-regions of the input memory arrays, so that one or more of a set of analog memory components is associated with the image signals in a distribution order to create a respective output signal. An assembler stores each of the respective output signals into one of a set of memory outputs in an output order that is determined by the distribution order.