It is well known since 1960s that by exploring the tensor product structure of the discrete Laplacian on Cartesian meshes, one can develop a simple direct Poisson solver with an $\mathcal O(N^{\frac{d+1}d})$ complexity in $d$-dimension. The GPU acceleration of numerically solving PDEs has been explored successfully around fifteen years ago and become more and more popular in the past decade, driven by significant advancement in both hardware and software technologies, especially in the recent few years. We present in this paper a simple but extremely fast MATLAB implementation on a modern GPU, which can be easily reproduced, for solving 3D Poisson type equations using a spectral-element method. In particular, it costs less than one second on a Nvidia A100 for solving a Poisson equation with one billion degree of freedoms.
翻译:自20世纪60年代以来,人们已知通过利用笛卡尔网格上离散拉普拉斯算子的张量积结构,可以开发出一种简单的直接泊松求解器,其在d维空间中的计算复杂度为$\mathcal O(N^{\frac{d+1}d})$。大约十五年前,GPU加速数值求解偏微分方程的方法已成功得到探索,并在过去十年间日益普及,这得益于硬件与软件技术的显著进步,尤其是近几年的发展。本文提出一种在现代GPU上实现简单且极快速的MATLAB方法,该方法易于复现,用于通过谱元法求解三维泊松型方程。特别地,在Nvidia A100上求解具有十亿自由度的泊松方程时,耗时不到一秒。