SILVIA: Automated Superword-Level Parallelism Exploitation via HLS-specific LLVM Passes for Compute-Intensive FPGA Accelerators
High-level synthesis (HLS) aims at democratizing custom hardware acceleration with highly abstracted software-like descriptions. However, efficient accelerators still require substantial low-level hardware optimizations, defeating the HLS intent. In the context of field-programmable gate arrays, digital signal processors (DSPs) are a crucial resource that typically requires a significant optimization effort for its efficient utilization, especially when used for sub-word vectorization. This work proposes SILVIA, an open-source LLVM transformation pass that automatically identifies superword-level parallelism within an HLS design and exploits it by packing multiple operations, such as additions, multiplications, and multiply-and-adds, into a single DSP. SILVIA is integrated in the flow of the commercial AMD Vitis HLS tool and proves its effectiveness by packing multiple operations on the DSPs without any manual source-code modifications on several diverse state-of-the-art HLS designs such as convolutional neural networks and basic linear algebra subprograms accelerators, reducing the DSP utilization for additions by 70% and for multiplications and multiply-and-adds by 50% on average.
Authors
- Giovanni Brignone (ORCID: https://orcid.org/0000-0002-1656-8376)
- Fabrizio Ottati (ORCID: https://orcid.org/0000-0003-2989-3634)
- Luciano Lavagno (ORCID: https://orcid.org/0000-0002-9762-6522)
- Claudio Sansoè (ORCID: https://orcid.org/0000-0002-2565-9077)
- Roberto Bosio (ORCID: https://orcid.org/0009-0003-3431-9618)
Institutions
- Politecnico di Torino (IT)
Publication Details
- Journal
- ACM Transactions on Reconfigurable Technology and Systems
- Published
- 2024-11-21
- DOI
- https://doi.org/10.1145/3705324
- Citations
- 1
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.49
Funders
- Key Digital Technologies Joint Undertaking
- European Commission