FLUPS -- a flexible and performant massively parallel Fourier transform library
Pierre Balty, Philippe Chatelain, and Thomas Gillis

TL;DR
This paper enhances the flups library for massively parallel Fourier transforms by adding support for node-centered data layouts and multiple communication strategies, improving flexibility and performance for large-scale scientific computations.
Contribution
The work extends the flups library to support node-centered data and introduces three communication approaches, making it more flexible and suitable for diverse computational scenarios.
Findings
Validated against analytical solutions for various domain types.
Compared performance with accFFT on periodic cases.
Achieved scalable performance up to 49,152 cores.
Abstract
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 original flups library 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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Distributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques
