Maximizing CNN Accelerator Efficiency Through Resource Partitioning
Yongming Shen, Michael Ferdman, and Peter Milder

TL;DR
This paper introduces a resource partitioning approach for FPGA-based CNN accelerators, creating specialized processors for different CNN layers, significantly boosting throughput compared to traditional single-processor designs.
Contribution
The paper proposes a novel resource partitioning methodology that divides FPGA resources into multiple specialized processors for CNN layers, improving efficiency and throughput.
Findings
Achieved 3.8x throughput increase on AlexNet
Realized 2.2x and 2.0x speedups on SqueezeNet and GoogLeNet
Demonstrated superior performance over state-of-the-art designs
Abstract
Convolutional neural networks (CNNs) are revolutionizing machine learning, but they present significant computational challenges. Recently, many FPGA-based accelerators have been proposed to improve the performance and efficiency of CNNs. Current approaches construct a single processor that computes the CNN layers one at a time; the processor is optimized to maximize the throughput at which the collection of layers is computed. However, this approach leads to inefficient designs because the same processor structure is used to compute CNN layers of radically varying dimensions. We present a new CNN accelerator paradigm and an accompanying automated design methodology that partitions the available FPGA resources into multiple processors, each of which is tailored for a different subset of the CNN convolutional layers. Using the same FPGA resources as a single large processor, multiple…
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
TopicsAdvanced Neural Network Applications · Adversarial Robustness in Machine Learning · Advanced Memory and Neural Computing
