Abstract | ||
---|---|---|
Current FPGA programming tools require extensive hardware-specific manual code tuning to achieve performance, which is intractable for most software application teams. We present HPVM2FPGA, a novel end-to-end compiler and auto-tuning system that can automatically tune hardware-agnostic programs for FPGAs. HPVM2FPGA uses a hardware-agnostic abstraction of parallelism as an intermediate representation (IR) to represent hardware-agnostic programs. HPVM2FPGA's powerful optimization framework uses sophisticated compiler optimizations and design space exploration (DSE) to automatically tune a hardware-agnostic program for a given FPGA. HPVM2FPGA is able to support software programmers by shifting the burden of performing hardware-specific optimizations to the compiler and DSE. We show that HPVM2FPGA can achieve up to 33×speedup compared to unoptimized baselines and can match the performance of hand-tuned HLS code for three of four benchmarks. We have designed HPVM2FPGA to be a modular and extensible framework, and we expect it to match hand-tuned code for most programs as the system matures with more optimizations. Overall, we believe that it constitutes a solid step closer to fully hardware-agnostic FPGA programming, making it a suitable cornerstone for future FPGA compiler research. |
Year | DOI | Venue |
---|---|---|
2022 | 10.1109/ASAP54787.2022.00012 | 2022 IEEE 33rd International Conference on Application-specific Systems, Architectures and Processors (ASAP) |
Keywords | DocType | ISSN |
High-level synthesis,FPGA,hardware-agnostic FPGA programming,compilers for FPGA | Conference | 2160-0511 |
ISBN | Citations | PageRank |
978-1-6654-8309-4 | 0 | 0.34 |
References | Authors | |
14 | 9 |
Name | Order | Citations | PageRank |
---|---|---|---|
Adel Ejjeh | 1 | 1 | 0.70 |
Leon Medvinsky | 2 | 0 | 0.34 |
Aaron Councilman | 3 | 0 | 0.34 |
Hemang Nehra | 4 | 0 | 0.34 |
Suraj Sharma | 5 | 0 | 0.34 |
Vikram S. Adve | 6 | 3347 | 183.25 |
Luigi Nardi | 7 | 0 | 0.34 |
Eriko Nurvitadhi | 8 | 399 | 33.08 |
Rob A. Rutenbar | 9 | 2283 | 280.48 |