具有隐式时间离散化的 cuda 和数值方法

计算科学 并行计算 隐式方法 库达
2021-12-11 06:36:36

我正在寻找一些通过隐式形式的有限体积法求解一组偏微分方程(PDE)的代码(用于时间离散化)。

因此,在 x、y、z 方向上存在由 ADI/TDMA 方案处理的三对角方程组。

我似乎找不到任何关于使用 CUDA 的 PDE 隐式解决方案的信息。

ADI/TDMA 方案是否可以在 CUDA 中实现?有没有像二维热扩散方程这样的例子?

我所能找到的只是有限差分但以显式形式(剑桥大学)的二维热扩散方程的 CUDA 示例代码。

任何提示/参考将不胜感激。

1个回答

这个问题适用于高度矢量化的形式。正如您所指出的,ADI 方法给出了三对角系统的几个步骤。由于它是线性方程的形式,您可以使用CUsolverCUblas调用标准线性代数例程的并行 GPU 版本。使用这些,您应该能够获取显式代码,只需将内部循环更改为适当的 CUsolver 调用,并以代码看起来几乎完全像 CPU 实现的方式解决它,但通过在 GPU 上完成矩阵运算库调用。