FLUPS: a Fourier-based Library of Unbounded Poisson Solvers
arXiv:2006.09300 · doi:10.1137/19M1303848
Abstract
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 73 720 cores. The results obtained with three different supercomputers show that the weak efficiency remains above 40\% and the strong efficiency above 30% when the number of cores is multiplied by 16, for typical problems. These figures are slightly better than those expected from a third party 3D Fast Fourier Transform (FFT) tool, with which a 20% longer execution time was also measured on average.
arXiv commentSIAM Journal on Scientific Computing (SISC): submitted on December 5th 2019, accepted on November 17th 2020
References in corpus (11)
- P3DFFT: a framework for parallel computations of Fourier transforms in three dimensions
- A FFT-based finite-difference solver for massively-parallel direct numerical simulations of turbulent flows
- Fast convolution with free-space Green's functions
- Scaling of a Fast Fourier Transform and a Pseudo-spectral Fluid Solver up to 196608 cores
- FFT, FMM, or Multigrid? A comparative Study of State-Of-the-Art Poisson Solvers for Uniform and Nonuniform Grids in the Unit Cube
- PoisFFT - A Free Parallel Fast Poisson Solver
- A parallel fast multipole method for elliptic difference equations
- FFT, FMM, and Multigrid on the Road to Exascale: performance challenges and opportunities
- A fast multi-resolution lattice Green's function method for elliptic difference equations
- Non-singular Green's functions for the unbounded Poisson equation in one, two and three dimensions
- A Fast 3D Poisson Solver with Longitudinal Periodic and Transverse Open Boundary Conditions for Space-Charge Simulations
Cited by in corpus (4)
- An immersed interface method for the 2D vorticity-velocity Navier-Stokes equations with multiple bodies
- A hybrid Lagrangian -- Eulerian flow solver applied to elastically mounted cylinders in tandem arrangement
- FLUPS -- a flexible and performant massively parallel Fourier transform library
- Lattice Green's Functions for High Order Finite Difference Stencils