当前位置: X-MOL 学术SIAM J. Sci. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
FLUPS: A Fourier-Based Library of Unbounded Poisson Solvers
SIAM Journal on Scientific Computing ( IF 3.0 ) Pub Date : 2021-01-14 , DOI: 10.1137/19m1303848
Denis-Gabriel Caprace , Thomas Gillis , Philippe Chatelain

SIAM Journal on Scientific Computing, Volume 43, Issue 1, Page C31-C60, January 2021.
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\%$ 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. From the outside, the solving procedure is fully automated so that the user benefits from the optimal performances while not having to handle the complexity associated with memory management, data mapping, and Fourier transform computation. The parallel code is available under Apache license 2.0 at github.com/vortexlab-uclouvain/flups.


中文翻译:

FLUPS:基于傅立叶的无穷泊松解算器库

SIAM科学计算杂志,第43卷,第1期,C31-C60页,2021年1月。
提出了基于傅立叶的无穷泊松求解器(FLUPS)库,用于2D和3D均匀分布网格。它旨在处理矩形域上具有均匀分辨率的Poisson方程的周期,对称,半无界和完全无界边界条件的所有可能组合。FLUPS利用3D傅里叶变换的专用实现方式,以快速,高效存储的方式使用Green函数来求解泊松方程。提供了几种Green函数,可以选择使用显式正则化,频谱截断或使用点阵Green函数,并提供经过验证的从2到类似于频谱的收敛阶数。该算法取决于FFTW库来执行一维转换,消息传递接口(MPI)通信可实现所需的内存中数据重新映射。对于后一种操作,第一种可用的实现方法是采用标准的所有例程。但是,以无阻塞和持久性点对点通信为特征的第二种实现在大多数情况下,尤其是在利用与OpenMP共享的内存并行性的情况下,显示出了更高的效率。该算法针对大规模并行体系结构的可扩展性,已展示到多达73720个内核。使用三种不同的超级计算机获得的结果表明,对于典型问题,当内核数乘以16时,弱效率保持在$ 40 \%$以上,强效率保持在$ 30 \%$以上。这些数字比第三方​​3D快速傅立叶变换(FFT)工具的期望值要好一些,后者的执行时间也平均缩短了20 %%。从外部看,求解过程是完全自动化的,因此用户可以从最佳性能中受益,而不必处理与内存管理,数据映射和傅立叶变换计算相关的复杂性。可以在github.com/vortexlab-uclouvain/flups下以Apache许可2.0获得并行代码。
更新日期:2021-01-15
down
wechat
bug