TY - GEN
T1 - Implementation of 3D FFTs across multiple GPUs in shared memory environments
AU - Nandapalan, Nimalan
AU - Jaros, Jiri
AU - Rendell, Alistair P.
AU - Treeby, Bradley
PY - 2012
Y1 - 2012
N2 - In this paper, a novel implementation of the distributed 3D Fast Fourier Transform (FFT) on a multi-GPU platform using CUDA is presented. The 3D FFT is the core of many simulation methods, thus its fast calculation is critical. The main bottleneck of the distributed 3D FFT is the global data exchange which must be performed. The latest version of CUDA introduces direct GPU-to-GPU transfers using a Unified Virtual Address space (UVA) that provides new possibilities for optimising the communication part of the FFT. Here, we propose different implementations of the distributed 3D FFT, investigate their behaviour, and compare their performance with the single GPU CUFFT and CPU-based FFTW libraries. In particular, we demonstrate the advantage of direct GPU-to-GPU transfers over data exchanges via host main memory. Our preliminary results show that running the distributed 3D FFT with four GPUs can bring a 12% speedup over the single node (CUFFT) while also enabling the calculation of 3D FFTs of larger datasets. Replacing the global data exchange via shared memory with direct GPU-to-GPU transfers reduces the execution time by up to 49%. This clearly shows that direct GPU-to-GPU transfers are the key factor in obtaining good performance on multi-GPU systems.
AB - In this paper, a novel implementation of the distributed 3D Fast Fourier Transform (FFT) on a multi-GPU platform using CUDA is presented. The 3D FFT is the core of many simulation methods, thus its fast calculation is critical. The main bottleneck of the distributed 3D FFT is the global data exchange which must be performed. The latest version of CUDA introduces direct GPU-to-GPU transfers using a Unified Virtual Address space (UVA) that provides new possibilities for optimising the communication part of the FFT. Here, we propose different implementations of the distributed 3D FFT, investigate their behaviour, and compare their performance with the single GPU CUFFT and CPU-based FFTW libraries. In particular, we demonstrate the advantage of direct GPU-to-GPU transfers over data exchanges via host main memory. Our preliminary results show that running the distributed 3D FFT with four GPUs can bring a 12% speedup over the single node (CUFFT) while also enabling the calculation of 3D FFTs of larger datasets. Replacing the global data exchange via shared memory with direct GPU-to-GPU transfers reduces the execution time by up to 49%. This clearly shows that direct GPU-to-GPU transfers are the key factor in obtaining good performance on multi-GPU systems.
KW - FFT
KW - UVA
KW - distributed
KW - multi-GPU
KW - shared-memory
KW - unified-virtual-address
UR - http://www.scopus.com/inward/record.url?scp=84884657261&partnerID=8YFLogxK
U2 - 10.1109/PDCAT.2012.79
DO - 10.1109/PDCAT.2012.79
M3 - Conference contribution
SN - 9780769548791
T3 - Parallel and Distributed Computing, Applications and Technologies, PDCAT Proceedings
SP - 167
EP - 172
BT - Proceedings - 13th International Conference on Parallel and Distributed Computing, Applications, and Technologies, PDCAT 2012
T2 - 13th International Conference on Parallel and Distributed Computing, Applications, and Technologies, PDCAT 2012
Y2 - 14 December 2012 through 16 December 2012
ER -