FiC-RNN: A Multi-FPGA Acceleration Framework for Deep Recurrent Neural Networks

Yuxi SUN  Hideharu AMANO  

Publication
IEICE TRANSACTIONS on Information and Systems   Vol.E103-D   No.12   pp.2457-2462
Publication Date: 2020/12/01
Publicized: 2020/09/24
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2020PAP0003
Type of Manuscript: Special Section PAPER (Special Section on Parallel, Distributed, and Reconfigurable Computing, and Networking)
Category: Computer System
Keyword: 
multi-FPGA,  recurrent neural networks,  LSTM,  

Full Text: PDF(3.9MB)>>
Buy this Article




Summary: 
Recurrent neural networks (RNNs) have been proven effective for sequence-based tasks thanks to their capability to process temporal information. In real-world systems, deep RNNs are more widely used to solve complicated tasks such as large-scale speech recognition and machine translation. However, the implementation of deep RNNs on traditional hardware platforms is inefficient due to long-range temporal dependence and irregular computation patterns within RNNs. This inefficiency manifests itself in the proportional increase in the latency of RNN inference with respect to the number of layers of deep RNNs on CPUs and GPUs. Previous work has focused mostly on optimizing and accelerating individual RNN cells. To make deep RNN inference fast and efficient, we propose an accelerator based on a multi-FPGA platform called Flow-in-Cloud (FiC). In this work, we show that the parallelism provided by the multi-FPGA system can be taken advantage of to scale up the inference of deep RNNs, by partitioning a large model onto several FPGAs, so that the latency stays close to constant with respect to increasing number of RNN layers. For single-layer and four-layer RNNs, our implementation achieves 31x and 61x speedup compared with an Intel CPU.