Practical Programming of FPGAs with Open Source Tools
This project has evolved from the Practical programming of FPGAs in the data center and on the edge project. Please see that project page for the additional details.
As artificial intelligence and the collection and processing of vast amounts of data continue to revolutionize every aspect of technology, data centers are moving from being “compute-centric” to “data-centric”; from processing data in place, to “compute everywhere” — whether data is stationary (in memory) or on the move (in network). A type of computing device known as the Field Programmable Gate Array (FPGA) is integral to this transformation: FPGAs are simultaneously communication and computation devices. They are also reconfigurable: rather than fitting the application to the hardware, the hardware is modified to best run the application. Currently, however, programming FPGAs requires particular expertise not present with most programmers. In this project we are augmenting common software development tools with machine learning capability so that the tool can learn to transform ordinary programs into high-quality FPGA configurations.
Principal Investigator: Martin Herbordt
Red Hat Collaborators: Uli Drepper and Ahmed Sanaullah
PhD Students: Robert Munafo, Hafsah Shahzad, Reza Sajjadi
Undergraduate students: Xiteng Yao, BSEE
- “Practical Programming of FPGAs with Open-Source Tools: Optimizing High-level Synthesis Using Machine Learning”; Red Hat Student Research Project Presentation, November 2022
- H2RC Workshop at SC22 The Eighth Workshop on Heterogeneous High-performance Reconfigurable Computing, November 2022
- LLVM-HPC Workshop at SC22, “The Eighth Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC),” November 2022
- Reinforcement Learning Based Compiler Tuning for Custom Hardware Generation,” Red Hat DevConf., August 2022
- DISL: Dynamic Infrastructure Services Layer for Reconfigurable Hardware,” Red Hat DevConf., August 2022
- FPGAs Everywhere in Large Scale Computer Systems,” International Supercomputing Conference; Hamburg, Germany, May 2022
- “Optimizing Custom Hardware Generation for FPGA Using Machine Learning,” UROP Research Presentation, Boston University, October 20, 2022.