P3DFFT: a framework for parallel computations of Fourier transforms in three dimensions

05/07/2019
by   Dmitry Pekurovsky, et al.
0

Fourier and related transforms is a family of algorithms widely employed in diverse areas of computational science, notoriously difficult to scale on high-performance parallel computers with large number of processing elements (cores). This paper introduces a popular software package called P3DFFT implementing Fast Fourier Transforms (FFT) in three dimensions (3D) in a highly efficient and scalable way. It overcomes a well-known scalability bottleneck of 3D FFT implementations by using two-dimensional domain decomposition. Designed for portable performance, P3DFFT achieves excellent timings for a number of systems and problem sizes. On Cray XT5 system P3DFFT attains 45 weak scaling from 128 to 65,536 computational cores. Library features include Fourier and Chebyshev transforms, Fortran and C interfaces, in- and out-of-place transforms, uneven data grids, single and double precision. P3DFFT is available as open source at http://code.google.com/p/p3dfft/. This paper discusses P3DFFT implementation and performance in a way that helps guide the user in making optimal choices for parameters of their runs.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset