Speaker(s): Jackson Woodruff
Title: Bind the gap: compiling real software to hardware FFT accelerators
Abstract: Specialized hardware accelerators continue to be a source of performance improvement. However, such specialization comes at a programming price. The fundamental issue is that of a mismatch between the diversity of user code and the functionality of fixed hardware, limiting its wider uptake.
Here we focus on a particular set of accelerators: those for Fast Fourier Transforms. We present FACC (Fourier ACcelerator Compiler), a novel approach to automatically map legacy code to Fourier Transform accelerators. It automatically generates drop-in replacement adapters using Input-Output (IO)-based program synthesis that bridge the gap between user code and accelerators. We apply FACC to unmodified GitHub C programs of varying complexity and compare against two existing approaches. We target FACC to a high-performance library, FFTW, and two hardware accelerators, the NXP PowerQuad and the Analog Devices FFTA, and demonstrate mean speedups of 9x, 17x and 27x respectively.
This talk will go through the various synthesis techniques used to do this, and the other steps required to produce drop-in replacements for existing code. We will also address the scalability challenges that arise when applying these techniques to different accelerators, the challenges of verifying transformations on this scale and other types of accelerators that these techniques apply to well (and not-so-well).
Bio: Jackson is a PhD student at the University of Edinburgh, working with Mike O'Boyle. His work focuses on compilers for hardware accelerators, using modern compiler techniques like program synthesis, neural embeddings and equality saturation. Previously, he was at the University of Cambridge, where he worked on hardware accelerated network measurements.