DCP: Learning Accelerator Dataflow for Neural Network via Propagation
Peng Xu, Wenqi Shao, Mingyu Ding, Ping Luo

TL;DR
This paper introduces DCP, a data-centric method that automatically optimizes dataflow configurations for neural network accelerators, significantly reducing design effort and improving performance and energy efficiency.
Contribution
DCP presents a novel code propagation approach that automatically finds optimal dataflows for DNN hardware accelerators without human intervention.
Findings
DCP outperforms full search methods like GAMMA in efficiency.
It generalizes well to unseen hardware configurations.
Extensive experiments show improved latency and energy savings.
Abstract
Deep neural network (DNN) hardware (HW) accelerators have achieved great success in improving DNNs' performance and efficiency. One key reason is dataflow in executing a DNN layer, including on-chip data partitioning, computation parallelism, and scheduling policy, which have large impacts on latency and energy consumption. Unlike prior works that required considerable efforts from HW engineers to design suitable dataflows for different DNNs, this work proposes an efficient data-centric approach, named Dataflow Code Propagation (DCP), to automatically find the optimal dataflow for DNN layers in seconds without human effort. It has several attractive benefits that prior arts do not have. (i) We translate the HW dataflow configuration into a code representation in a unified dataflow coding space, which can be optimized by backpropagating gradients given a DNN layer or network. (ii) DCP…
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
TopicsNeural Networks and Applications · Parallel Computing and Optimization Techniques · Scientific Computing and Data Management
MethodsConvolution · Average Pooling · Max Pooling · Kaiming Initialization · Global Average Pooling
