×

FLUPS

swMATH ID: 38050
Software Authors: Caprace, Denis-Gabriel; Gillis, Thomas; Chatelain, Philippe
Description: FLUPS: a Fourier-based library of unbounded Poisson solvers. A Fourier-based library of unbounded Poisson solvers (FLUPS) for 2D and 3D homogeneous distributed grids is presented. It is designed to handle every possible combination of periodic, symmetric, semi-unbounded, and fully unbounded boundary conditions for the Poisson equation on rectangular domains with uniform resolution. FLUPS leverages a dedicated implementation of 3D Fourier transforms to solve the Poisson equation using Green’s functions in a fast and memory-efficient way. Several Green’s functions are available, optionally with explicit regularization, spectral truncation, or using lattice Green’s functions, and provide verified convergence orders from 2 to spectral-like. The algorithm depends on the FFTW library to perform 1D transforms, while message passing interface (MPI) communications enable the required remapping of data in memory. For the latter operation, a first available implementation resorts to the standard all-to-all routines. A second implementation, featuring non-blocking and persistent point-to-point communications, is however shown to be more efficient in a majority of cases and especially while taking advantage of the shared memory parallelism with OpenMP. The scalability of the algorithm, aimed at massively parallel architectures, is demonstrated up to 73720 cores. The results obtained with three different supercomputers show that the weak efficiency remains above 40
Homepage: https://github.com/vortexlab-uclouvain/flups
Source Code:  https://github.com/vortexlab-uclouvain/flups
Dependencies: C++
Keywords: Poisson equation; parallel computing; 3D Fourier transform; elliptic problem; free-space boundary
Related Software: PETSc; IIMPACK; glmGamPoi; ppmlhdfe; CaNS; Poissonsolver; PoisFFT; GitHub; PFFT; P3DFFT; FFTW; PPM
Cited in: 4 Publications

Citations by Year