Automatic Generation of Multi-precision Multi-arithmetic CNN Accelerators for FPGAs
Yiren Zhao, Xitong Gao, Xuan Guo, Junyi Liu, Erwei Wang, Robert, Mullins, Peter Y. K. Cheung, George Constantinides, Cheng-Zhong Xu

TL;DR
Tomato is an automated framework that generates efficient, multi-precision, multi-arithmetic CNN accelerators for FPGAs, enabling high throughput and low latency inference, including full ImageNet networks on a single FPGA.
Contribution
First auto-generation framework for multi-precision multi-arithmetic CNN accelerators on FPGAs, combining software fine-tuning with hardware design for optimized performance.
Findings
Achieves 2-4x better latency and throughput than existing FPGA solutions.
Can pack a full ImageNet network onto a single FPGA without off-chip memory.
Runs ImageNet classification at over 3000 frames per second.
Abstract
Modern deep Convolutional Neural Networks (CNNs) are computationally demanding, yet real applications often require high throughput and low latency. To help tackle these problems, we propose Tomato, a framework designed to automate the process of generating efficient CNN accelerators. The generated design is pipelined and each convolution layer uses different arithmetics at various precisions. Using Tomato, we showcase state-of-the-art multi-precision multi-arithmetic networks, including MobileNet-V1, running on FPGAs. To our knowledge, this is the first multi-precision multi-arithmetic auto-generation framework for CNNs. In software, Tomato fine-tunes pretrained networks to use a mixture of short powers-of-2 and fixed-point weights with a minimal loss in classification accuracy. The fine-tuned parameters are combined with the templated hardware designs to automatically produce…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsConvolution
