FLUPS – a flexible and performant massively parallel Fourier transform library

11/14/2022
by   Pierre Balty, et al.
0

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 manual packing and MPI_Datatype to 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 against accFFT, another distributed FFT implementation, using a periodic case. Finally the performance metrics of each implementation are analyzed and detailed on various top-tier European infrastructures up to 49,152 cores. This work brings flups up to a fully production-ready and performant distributed FFT library, featuring all the possible types of FFTs and with flexibility in the data-layout. The code is available under a BSD-3 license at github.com/vortexlab-uclouvain/flups.

READ FULL TEXT
research
02/12/2020

CROFT: A scalable three-dimensional parallel Fast Fourier Transform (FFT) implementation for High Performance Clusters

The FFT of three-dimensional (3D) input data is an important computation...
research
07/14/2022

FFTc: An MLIR Dialect for Developing HPC Fast Fourier Transform Libraries

Discrete Fourier Transform (DFT) libraries are one of the most critical ...
research
01/01/2023

SailFFish: A Lightweight, Parallelised Fast Poisson Solver Library

A solver for the Poisson equation for 1D, 2D and 3D regular grids is pre...
research
09/05/2016

Automatic Library Generation for Modular Polynomial Multiplication

Polynomial multiplication is a key algorithm underlying computer algebra...
research
05/07/2019

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

Fourier and related transforms is a family of algorithms widely employed...
research
09/21/2023

Unlocking massively parallel spectral proper orthogonal decompositions in the PySPOD package

We propose a parallel (distributed) version of the spectral proper ortho...

Please sign up or login with your details

Forgot password? Click here to reset