Issue No. 03 - March (2014 vol. 25)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2013.53
Jing Wu , Dept. of Electr. & Comput. Eng., Univ. of Maryland, College Park, MD, USA
Joseph JaJa , Dept. of Electr. & Comput. Eng., Univ. of Maryland, College Park, MD, USA
Elias Balaras , George Washington Univ., Washington, DC, USA
A highly multithreaded FFT-based direct Poisson solver that makes effective use of the capabilities of the current NVIDIA graphics processing units (GPUs) is presented. Our algorithms carefully manage the multiple layers of the memory hierarchy of the GPUs such that almost all the global memory accesses are coalesced into 128-byte device memory transactions, and all computations are carried out directly on the registers. A new strategy to interleave the FFT computation along each dimension with other computations is used to minimize the total number of accesses to the 3D grid. We illustrate the performance of our algorithms on the NVIDIA Tesla and Fermi architectures for a wide range of grid sizes, up to the largest size that can fit on the device memory ($(512\times 512\times 512)$ on the Tesla C1060/C2050 and $(512\times 256\times 256)$ on the GeForce GTX 280/480). We achieve up to 140 GFLOPS and a bandwidth of 70 GB/s on the Tesla C1060, and up to 375 GFLOPS with a bandwidth of 120GB/s on the GTX 480. The performance of our algorithms is superior to what can be achieved using the CUDA FFT library in combination with well-known parallel algorithms for solving tridiagonal linear systems of equations.
Graphics processing units, Instruction sets, Kernel, Computer architecture, Vectors, Linear systems, Equations
Jing Wu, J. JaJa and E. Balaras, "An Optimized FFT-Based Direct Poisson Solver on CUDA GPUs," in IEEE Transactions on Parallel & Distributed Systems, vol. 25, no. 3, pp. 550-559, 2014.