Parallel and Distributed Systems, International Conference on (2011)
Dec. 7, 2011 to Dec. 9, 2011
Many fields of science and engineering, such as astronomy, medical imaging, seismology and spectroscopy, have been revolutionized by Fourier methods. The fast Fourier transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse. The emerging class of high performance computing architectures, such as GPU, seeks to achieve much higher performance and efficiency by exposing a hierarchy of distinct memories to programmers. However, the complexity of GPU programming poses a significant challenge for programmers. In this paper, based on the Kronecker product form multi-dimensional FFTs, we propose an automatic performance tuning framework for various OpenCL GPUs. Several key techniques of GPU programming on AMD and NVIDIA GPUs are also identified. Our OpenCL FFT library achieves up to 1.5 to 4 times, 1.5 to 40 times and 1.4 times the performance of clAmdFft 1.0 for 1D, 2D and 3D FFT respectively on an AMD GPU, and the overall performance is within 90% of CUFFT 4.0 on two NVIDIA GPUs.
FFT, DFT, GPU, OpenCL, Auto-tuning
Y. Zhang, Y. Li, H. Jia, K. Wang and G. Long, "Automatic FFT Performance Tuning on OpenCL GPUs," Parallel and Distributed Systems, International Conference on(ICPADS), Tainan, Taiwan, 2011, pp. 228-235.