Spiral FFT
Franz Franchetti, Carnegie Mellon University
Usage Details
Jason Larkin, Franz Franchetti, Doru PopoviciSPIRAL is an automatic program generation system that, entirely autonomously, generates platform-tuned libraries of signal processing transform, such as the discrete Fourier transform, discrete cosine transform, and many others. The generated software is of similar performance as the best hand-tuned implementations available (Intel MKL and IPP, IBM ESSL) for functionality that is available for comparison. SPIRAL addresses one of the key problems in numerical software and hardware development: how to achieve close to optimal performance with reasonable coding effort. In the domain of linear transforms, and for standard multicore platforms, Spiral has achieved complete automation: the computer generation of general input-size, vectorized, parallel libraries. Spiral also demonstrated its applicability for large supercomputers (fastest Global FFT on 128K nodes of Blue Gene/P) and with GPUs.
The effort is to work with the Spiral group at Carnegie Mellon University and SpiralGen, Inc., to improve their code generation for the Cray XE/XK system—both on a node basis and with the Gemini Torus. Further, the Spiral team, facilitated by the guidance of Blue Waters staff, will engage with selected science teams to implement their technology and improve the team's applications. The main targets we will investigate will be 1) generation of optimized FFT kernels for XE6 nodes (AMD Interlagos) and the XK7 (NVIDIA Kepler) to serve as building blocks for high core performance and, 2) generation of convolution-like operations to minimize communication cost across nodes and between the CPU and GPU memory space. SpiralGen, Inc. will perform the main development while CMU will provide scientific consulting and interaction with the application team.