FPGA Hardware Accelerator for Compressed RNN Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional general-purpose CPUs and GPUs are inefficient in processing and memory usage for large-scale neural networks, limiting further development and requiring compression to reduce computation and memory consumption, while existing solutions fail to fully exploit sparsity in neural networks.

Innovation Solution

A hardware accelerator with a parallelized pipeline design and Compressed Column Storage (CCS) format for sparse neural networks, implemented on an embedded FPGA, which initializes data on-chip, performs matrix-vector multiplication, and iteratively computes activation and output sequences, utilizing processing elements, ALUs, and buffers to optimize computation and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional CPUs or GPUs are used to process large-scale neural networks, then the network can be implemented with general-purpose hardware, but processing efficiency and memory usage become inefficient

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidhardware efficiency
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system divides the neural network processing into multiple processing elements (PEs), each handling specific matrix-vector multiplication operations. The weight matrix W is partitioned across multiple PEs, with each PE processing a subset of rows. This segmentation enables parallel computation while reducing the processing burden on individual units, thereby improving overall processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from general-purpose sequential processing to specialized parallel processing architecture. By introducing a dimension of parallelism through multiple PEs operating simultaneously, the system achieves higher throughput. Additionally, the compression format transforms the data representation from dense to sparse, exploiting the inherent structure of neural network weights to reduce computational complexity.

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

2Quantity of substance

If neural networks are compressed to reduce computation and memory consumption, then resource usage decreases, but existing solutions fail to fully exploit sparsity in neural networks

Engineering Contradiction:
Improvememory consumptionVSAvoidcomputation efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system applies different processing strategies to different parts of the neural network based on their sparsity characteristics. Each processing element is configured to handle specific portions of the weight matrix with locally optimized data formats. The compression format preserves the local sparsity patterns by storing only non-zero elements with their indices, allowing each PE to efficiently process its assigned subset without being burdened by zero elements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the representation parameters of the weight matrix from dense floating-point format to a sparse compressed format that stores only non-zero elements along with their row and column indices. This parameter change reduces memory consumption while the specialized hardware architecture maintains computation efficiency by directly processing the compressed format without requiring full decompression.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a parallelized pipeline design is implemented on FPGA, then computational efficiency improves, but I/O bandwidth and computational resources must be balanced

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidresource balancing
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary data preparation by organizing the compressed weight matrix data into a format suitable for parallel processing before computation begins. The weight matrix is pre-partitioned and loaded into on-chip memory of multiple PEs in advance, reducing the need for complex data transfer operations during computation. This preliminary organization simplifies the I/O bandwidth requirements during the actual computation phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The parallelized pipeline design ensures continuous utilization of computational resources by maintaining a steady flow of data through the processing elements. Multiple PEs operate simultaneously on different portions of the matrix, keeping the computational pipeline full and avoiding idle cycles. This continuous operation maximizes the utilization of FPGA resources while maintaining balanced I/O bandwidth requirements.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10698657B2Hardware accelerator for compressed RNN on FPGA
Publication Date: 2020.06.30 XILINX INC
  • US10698657B2 patent drawing
  • US10698657B2 patent drawing
  • US10698657B2 patent drawing

AI summary

The present invention relates to recurrent neural network. In particular, the present invention relates to how to implement and accelerate a recurrent neural network based on an embedded FPGA. Specifically, it proposes an overall design processing method of matrix decoding, matrix-vector multiplication, vector accumulation and activation function. In another aspect, the present invention proposes an overall hardware design to implement and accelerate the above process.