【发布时间】:2020-10-06 02:30:41
【问题描述】:
我正在查看来自 PETSc 和 petsc4py 的几个示例,并查看 PETSc 的 PDF 用户手册。手册指出:
对于那些不熟悉 MPI 的人来说,通信器是一种表示将一起参与计算或通信的进程集合的方式。通信器具有变量类型
MPI_Comm。在大多数情况下,用户可以使用通信器PETSC_COMM_WORLD来指示给定运行中的所有进程,并使用PETSC_COMM_SELF来指示单个进程。
我相信我理解这种说法,但我不确定实际使用这些交流器的真正后果。我不确定当您使用TSCreate(PETSC_COMM_WORLD,...) 与TSCreate(PETSC_COMM_SELF,...) 或类似的分布式阵列时会发生什么。如果您使用PETSC_COMM_SELF 创建了DMDA,这是否意味着DM 对象不会真正分布在多个进程中?或者如果你用PETSC_COMM_SELF 创建一个TS 和一个DM 和PETSC_COMM_WORLD,这是否意味着求解器实际上不能访问幽灵节点?对DMCreateLocalVector和DMCreateGlobalVector的结果有影响吗?
【问题讨论】: