我最近一直在学习 petsc,并为 3D 交错网格上的斯托克斯方程制作了一个简单的求解器。我的代码在 200GB 内存的服务器上运行,但如果我在 256^3 网格上运行求解器,求解器使用的内存超过 200GB。
检查 -log_view 标志,我发现大部分内存都被由创建的矩阵使用
DMCreateMatrix(Mat &A)
我知道 DM 结构有助于 MPI 通信,因此可能需要额外的内存,但我认为这似乎太多了。有什么方法可以减少从 DM 对象创建的 Matrix 的内存使用量?
我最近一直在学习 petsc,并为 3D 交错网格上的斯托克斯方程制作了一个简单的求解器。我的代码在 200GB 内存的服务器上运行,但如果我在 256^3 网格上运行求解器,求解器使用的内存超过 200GB。
检查 -log_view 标志,我发现大部分内存都被由创建的矩阵使用
DMCreateMatrix(Mat &A)
我知道 DM 结构有助于 MPI 通信,因此可能需要额外的内存,但我认为这似乎太多了。有什么方法可以减少从 DM 对象创建的 Matrix 的内存使用量?