FLUPS - A Flexible and Performant Massively Parallel Fourier Transform Library

Pierre Balty, Philippe Chatelain, Thomas Gillis · IEEE Transactions on Parallel and Distributed Systems · 2023

Massively parallel Fourier transforms are widely used in computational sciences, and specifically in computational fluid dynamics which involves unbounded Poisson problems. In practice the latter is usually the most time-consuming operation due to its inescapable all-to-all communication pattern. The originalflupslibrary tackles that issue with an implementation of the distributed Fourier transform tailor-made for successive resolutions of unbounded Poisson problems. However the proposed implementation lacks of flexibility as it only supports cell-centered data layout and features a plain communication strategy. This work extends the library along two directions. First,flups’ implementation is generalized to support a node-centered data layout. Second, three distinct approaches are provided to handle the communications: one all-to-all, and two non-blocking implementations relying on manual packing andMPI_Datatypeto communicate over the network. The proposed software is validated against analytical solutions for unbounded, semi-unbounded, and periodic domains. The performance of the approaches is then compared againstaccFFT, another distributed FFT implementation, using a periodic case. Finally the performance metrics of each implementation are analyzed and detailed on various top-tier European facilities up to 49,152 cores. This work bringsflupsup to a fully production-ready and performant distributed FFT library, featuring all the possible types of FFTs and with flexibility in the data-layout.

Read the paper · More papers on PaperTik