在子通信器上调用PetscInitialize的优势

时间:2016-12-07 03:21:21

标签: mpi petsc

我想知道是否有人知道为什么在子通信器上调用PetscInitialize可能有利?例如,我有一个问题,我在4核上运行,但只有两个需要使用Petsc。我可以通过设置

在子通信器上调用PetscInitialize,仅包括这​​两个进程

PETSC_COMM_WORLD=mySubCommunicator

但是我不能在MPI_COMM_WORLD上初始化它并且只在子通信器上调用Petsc例程?我问的原因是它会简化我的代码只是在MPI_COMM_WORLD初始化,但我不想因此而遭受任何负面后果。感谢您的任何意见。

1 个答案:

答案 0 :(得分:1)

只要您不使用排名子集在PETSC_COMM_WORLD上调用任何集体操作,您就应该没事。我能找到的唯一隐含的函数是PetscMallocDumpPetscMPIDump和一些PetscLog*。您还必须在所有级别上致电PetscFinalize

相关问题