CollectiveHLS: A Collaborative Approach to High-Level Synthesis Design Optimization
Open Access
- 25 December 2024
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Reconfigurable Technology and Systems
- Vol. 18 (1) , 1-32
Abstract
High-Level Synthesis (HLS) has played a pivotal role in making FPGAs accessible to a broader audience by facilitating high-level device programming and rapid microarchitecture customization through the use of directives. However, manually selecting the right directives can be a formidable challenge for programmers lacking a hardware background. This article presents CollectiveHLS, an ultra-fast, knowledge-driven approach to optimizing HLS designs. It automates the identification and application of optimal directive configurations from the original source code, focusing on minimizing design latency and ensuring synthesizability. This optimization approach is entirely data-driven, offering a generalized HLS tuning solution without reliance on Quality of Result (QoR) models or meta-heuristics. CollectiveHLS is designed, implemented, and evaluated using around 60 applications sourced from well-established benchmark suites and GitHub repositories, all running on a Xilinx UltraScale + MPSoC ZCU104. It achieves an average geometric mean speedup of up to \(23.1\times\) compared to the official source code without directives, while maintaining synthesizability and feasibility rates of 100% and 96.6%, respectively, matching those of Vitis, the industry-standard framework for FPGA acceleration. Comparisons with resource over-provisioning, traditional genetic algorithm-based Design Space Exploration (DSE), and State-of-the-Art (SotA) approaches demonstrate that CollectiveHLS produces designs of comparable quality \(14.6\times\) faster on average. These results underscore the potential of our approach as an ultra-fast and automated solution for HLS optimization.
Keywords
This publication has 37 references indexed in Scilit:
- DB4HLS: A Database of High-Level Synthesis Design Space ExplorationsIEEE Embedded Systems Letters, 2021
- Leveraging Prior Knowledge for Effective Design-Space Exploration in High-Level SynthesisIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2020
- Towards Automatic High-Level Code Deployment on Reconfigurable Platforms: A Survey of High-Level Synthesis Tools and ToolchainsIEEE Access, 2020
- Pymoo: Multi-Objective Optimization in PythonIEEE Access, 2020
- High-Level Synthesis Design Space Exploration: Past, Present, and FutureIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2019
- Cluster-Based Heuristic for High Level Synthesis Design Space ExplorationIEEE Transactions on Emerging Topics in Computing, 2018
- CF-TUNE: Collaborative Filtering Auto-Tuning for Energy Efficient Many-Core ProcessorsIEEE Computer Architecture Letters, 2017
- SPIRIT: Spectral-Aware Pareto Iterative Refinement Optimization for Supervised High-Level SynthesisIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2014
- Generalized Hamming DistanceInformation Retrieval Journal, 2002
- Principal components analysis (PCA)Computers & Geosciences, 1993