March 18, 2022
Conference Paper

DynPaC: Coarse-Grained, Dynamic, and Partially Reconfigurable Array for Streaming Applications

Abstract

Coarse-grained reconfigurable arrays (CGRAs) provide higher flexibility than application-specific integrated circuits (ASICs) and higher efficiency than fine-grained reconfigurable devices such as Field Programmable Gate Arrays (FPGAs). However, CGRAs are generally designed to support offloading of a single kernel. While their design, based on communicating functional units, appears to naturally suit streaming applications composed of multiple cooperating kernels, current approaches only statically partition the resources across kernels. However, streaming applications often are data-dependent, leading to variable kernel execution times depending on the input data and impacting the throughput of the entire pipeline if resources are statically allocated. Therefore, in this paper, we discuss the design of DynPaC — a coarse-grained, dynamically, and partially reconfigurable array for data-dependent streaming applications. We discuss the required software and hardware components to manage partial dynamic reconfiguration. We demonstrate that by supporting partial dynamic reconfiguration, we can obtain an average speedup of 1.44X for a representative set of applications w.r.t. static partitioning, with a limited area overhead (6.4% of the entire chip).

Published: March 18, 2022

Citation

Tan C., T. Geng, C. Xie, N. Bohm Agostini, J. Li, A. Li, and K.J. Barker, et al. 2021. DynPaC: Coarse-Grained, Dynamic, and Partially Reconfigurable Array for Streaming Applications. In IEEE 39th International Conference on Computer Design (ICCD 2021), October 24-27, 2021, Virtual, Online, 33-40. Piscataway, New Jersey:IEEE. PNNL-SA-163151. doi:10.1109/ICCD53106.2021.00018