Field Programmable Gate Arrays (FPGAs) have become one of the key accelerators for data analytics and machine learning in Data Center, and they are seeing increased adoption in heterogeneous high-performance computing sys-tems for complex workflows that couple scientific simulation with data science. FPGAs have traditionally been pro-grammed with hardware description languages, requiring significant engineering efforts and long development times. Today, the availability of new high-level synthesis (HLS) tools to generate accelerators starting from high-level specifi-cations provides easier access to FPGAs and preserves programmer productivity. However, the conventional HLS flow typically starts from languages such as C, C++, or OpenCL, heavily annotated to provide information for the hardware generation, still leaving a significant gap with respect to the (Python based) data science frameworks.
This tutorial will discuss HLS to accelerate data science on FPGAs, highlighting key methodologies, trends, ad-vantages, benefits, but also gaps that still need to be closed. The tutorial will provide a hands-on experience of the SOftware Defined Accelerators (SODA) Synthesizer, a toolchain composed of SODA-OPT, an opensource front-end and optimizer that interface with productive programming data science frameworks in Python, and Bambu, the most advanced open-source HLS tool available, able to generate optimized accelerators for data-intensive kernels.
Contributors:
- Nicolas Bohm Agostini (Pacific Northwest National Laboratory)
- Serena Curzel (Pacific Northwest National Laboratory)
- Michele Fiorito (Politecnico di Milano)
- Vito Giovanni Castellana (Pacific Northwest National Laboratory)
- Marco Minutoli (Pacific Northwest National Lab)
- Fabrizio Ferrandi (Politecnico di Milano)
- Antonino Tumeo (Pacific Northwest National Laboratory)