2016-12-07 4 views
0

サブコミュニケータでPetscInitializeを呼び出すのが好都合な理由を誰かが知っているのではないでしょうか?たとえば、私は4つのコアで動作していますが、そのうち2つだけがPetscを利用する必要があるという問題があります。私はサブコミュニケータでPetscInitializeを呼び出す利点

PETSC_COMM_WORLD=mySubCommunicator

を設定することでのみ二つのプロセスを含めsubcommunicatorにPetscInitializeを呼び出すことができますが、私はちょうどMPI_COMM_WORLDでそれを初期化し、唯一subcommunicatorにPetscルーチンを呼び出すことができませんでしたか?私が尋ねる理由は、コードを単純化してMPI_COMM_WORLDに初期化するだけですが、結果として悪影響を受けたくないからです。コメントありがとうございます。

答えて

1

PETSC_COMM_WORLDの集団操作をランクのサブセットで呼び出さない限り、問題はありません。暗黙的に私が見つけることができる唯一の機能は、PetscMallocDump,PetscMPIDump、および一部はPetscLog*でした。また、すべてのランクでPetscFinalizeに電話する必要があります。

関連する問題