中文

FLUPS:基于傅里叶的无界泊松求解器库

计算物理 2021-01-19 v4

摘要

本文提出了一个面向 2D 和 3D 均匀分布式网格的基于傅里叶的无界泊松求解器库 (FLUPS)。它设计用于处理矩形域上均匀分辨率泊松方程的周期、对称、半无界和全无界边界条件的任意组合。FLUPS 利用专用的 3D 傅里叶变换实现,以快速且内存高效的方式使用格林函数求解泊松方程。提供若干格林函数,可选带显式正则化、谱截断或使用晶格格林函数,并经验证具有从 2 到类谱的收敛阶。该算法依赖 FFTW 库执行一维变换,而消息传递接口 (MPI) 通信实现了所需的内存数据重映射。对于后者,首个可用实现采用标准全互换例程。然而,一种具有非阻塞和持久点对点通信的第二实现在大多数情况下被证明更高效,尤其在使用 OpenMP 共享内存并行时。该算法面向大规模并行架构,其可扩展性在多达 73 720 核上得到验证。在三台不同超级计算机上获得的结果表明,当核数乘 16 时,对于典型问题弱效率保持在 40% 以上,强效率保持在 30% 以上。这些数值略优于第三方 3D 快速傅里叶变换 (FFT) 工具预期值,且平均测得后者执行时间长 20%。

关键词

引用

@article{arxiv.2006.09300,
  title  = {FLUPS: a Fourier-based Library of Unbounded Poisson Solvers},
  author = {Denis-Gabriel Caprace and Thomas Gillis and Philippe Chatelain},
  journal= {arXiv preprint arXiv:2006.09300},
  year   = {2021}
}

备注

SIAM Journal on Scientific Computing (SISC): submitted on December 5th 2019, accepted on November 17th 2020