Productive Parallel Programming for FPGA with High-Level Synthesis
Parallel Programming Languages and Models
TimeSunday, 14 November 20218am - 12pm CST
DescriptionEnergy efficiency has become a first-class citizen in the design of large computing systems. Spatial architectures, such as FPGAs, promise another major step in energy efficiency, constituting a middle ground between software programmable architectures and custom-built ASICs. This tutorial shows how high-level synthesis can be harnessed to productively achieve scalable pipeline parallelism on FPGAs. Attendees will learn how to target FPGA resources from high-level C++ or OpenCL code, guiding the mapping from imperative code to hardware and enabling them to develop massively parallel designs with real performance benefits. We treat well-known examples from the software world, relating traditional code optimizations to both corresponding and new transformations for hardware, building on existing knowledge when introducing new topics. By bridging the gap between software and hardware optimization, our tutorial aims to enable developers from a larger set of backgrounds to start tapping into the potential of FPGAs with real high-performance codes.