我有一个 MPI 并行代码,它使用 PETSc 用无矩阵 GMRES 方法求解线性方程组。它工作正常,但每个进程使用的内存量大致相同,与我使用的进程数量无关。因此,当使用许多进程时,内存使用量会过多。我想知道是否有办法解决这个问题,我认为使用共享内存方法可能是要走的路。
据我了解, PETSc 支持PETSc 网站共享内存(为简单起见,使用 MPI 共享内存),但我找不到有关如何启用或使用它的任何信息。将 PETSc 与共享内存一起使用是否可以解决我的问题,如果是,是否有任何文档说明如何执行此操作?或者如果可能的话,在 PETSc 中是否默认使用 MPI 共享内存而无需额外编码?