Bind the gap: compiling real software to hardware FFT accelerators

Jackson Woodruff, Jordi Armengol-Estapé, Sam Ainsworth, Michael F. P. O'Boyle
2022 Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation  
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
more » ... elerators. 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. CCS Concepts: • Software and its engineering → Automatic programming; Compilers.
doi:10.1145/3519939.3523439 fatcat:6eoilci6knb3jczsx4dv577tia