2016-12-07 32 views
0

我想知道是否有人知道任何原因爲什麼它可能有利於在子通信器上調用PetscInitialize?例如,我有一個問題,我正在運行4個內核,但只有其中兩個需要使用Petsc。我可以通過設置優勢調用PetscInitialize上subcommunator

PETSC_COMM_WORLD=mySubCommunicator

呼籲PetscInitialize上,包括只有這兩個過程一subcommunicator但不能我只是初始化它MPI_COMM_WORLD,只呼籲subcommunicator PETSc程序?我問的原因是它會簡化我的代碼,只是初始化MPI_COMM_WORLD,但我不想因此而遭受任何負面影響。感謝您的任何意見。

回答

1

只要您沒有將PETSC_COMM_WORLD與集合的子集進行任何集體操作,您都應該沒問題。我能找到的唯一隱含的功能是PetscMallocDump,PetscMPIDump和一些PetscLog*。您還必須在各個級別上致電PetscFinalize