A GPU Based Memory Optimized Parallel Method For FFT Implementation

FFT (fast Fourier transform) plays a very important role in many fields, such as digital signal processing, digital image processing and so on. However, in application, FFT becomes a factor of affecting the processing efficiency, especially in remote sensing, which large amounts of data need to be processed with FFT. So shortening the FFT computation time is particularly important. GPU (Graphics Processing Unit) has been used in many common areas and its acceleration effect is very obvious compared with CPU (Central Processing Unit) platform. In this paper, we present a new parallel method to execute FFT on GPU. Based on GPU storage system and hardware processing pipeline, we improve the way of data storage. We divided the data into parts reasonably according the size of data to make full use of the characteristics of the GPU. We propose the memory optimized method based on share memory and texture memory to reduce the number of global memory access to achieve better efficiency. The results show that the GPU-based memory optimized FFT implementation not only can increase over 100% than FFTW library in CPU platform, but also can improve over 30% than CUFFT library in GPU platform.

[1]  Naga K. Govindaraju,et al.  Auto-tuning of fast fourier transform on graphics processors , 2011, PPoPP '11.

[2]  Geng Liu,et al.  Algorithm and Data Optimization Techniques for Scaling to Massively Threaded Systems , 2012, Computer.

[3]  G. Vecchi,et al.  A GPU acceleration for FFT-based fast solvers for the integral equation , 2010, Proceedings of the Fourth European Conference on Antennas and Propagation.

[4]  Wen-mei W. Hwu,et al.  Efficient performance evaluation of memory hierarchy for highly multithreaded graphics processors , 2012, PPoPP '12.

[5]  Yifeng Chen,et al.  Improving Performance of Matrix Multiplication and FFT on GPU , 2009, 2009 15th International Conference on Parallel and Distributed Systems.

[6]  Richard W. Vuduc,et al.  On the communication complexity of 3D FFTs and its implications for Exascale , 2012, ICS '12.

[7]  S. Mitra,et al.  Small Discrete Fourier Transforms on GPUs , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[8]  Satoshi Matsuoka,et al.  Bandwidth intensive 3-D FFT kernel for GPUs using CUDA , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[9]  Liang Gu,et al.  An empirically tuned 2D and 3D FFT library on CUDA GPU , 2010, ICS '10.

[10]  Yao Tao High performance FFT computation based on CUDA , 2011 .

[11]  Naga K. Govindaraju,et al.  Fast computation of general Fourier Transforms on GPUS , 2008, 2008 IEEE International Conference on Multimedia and Expo.

[12]  Yifeng Chen,et al.  Large-scale FFT on GPU clusters , 2010, ICS '10.

[13]  Zhang Meng,et al.  Streaming FFT Asynchronously on Graphics Processor Units , 2010, 2010 International Forum on Information Technology and Applications.

[14]  Kevin Skadron,et al.  Dymaxion: Optimizing memory access patterns for heterogeneous systems , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).