サブコミュニケータでPetscInitializeを呼び出すのが好都合な理由を誰かが知っているのではないでしょうか?たとえば、私は4つのコアで動作していますが、そのうち2つだけがPetscを利用する必要があるという問題があります。私はサブコミュニケータでPetscInitializeを呼び出す利点
PETSC_COMM_WORLD=mySubCommunicator
を設定することでのみ二つのプロセスを含めsubcommunicatorにPetscInitializeを呼び出すことができますが、私はちょうどMPI_COMM_WORLD
でそれを初期化し、唯一subcommunicatorにPetscルーチンを呼び出すことができませんでしたか?私が尋ねる理由は、コードを単純化してMPI_COMM_WORLD
に初期化するだけですが、結果として悪影響を受けたくないからです。コメントありがとうございます。