こんにちは、私は C++ で書かれたプログラムを持っています。そのプログラムでは、多くの関数のうちの 1 つまたは 2 つが PETSc を使用しています。
PETSc を使用しているときに適切なアプローチとなるこれらの関数を呼び出すとき
1) a)change all MPI_COMM_WORLD to PETSC_COMM_WORLD for my entire program
b)change MPI_Init to PetscInitialize
..
2)petsc用に別の通信世界を作成し、それを関数に渡します
MPI_Init(&argc, &argv);
..
//some many line of code
..
MPI_Comm_split(MPI_COMM_WORLD, rank, 0, &PETSC_COMM_WORLD);
petsc_function(PETSC_COMM_WORLD,.....
//some how reverting the comm_split here to continue as normal so all the non petsc functions work
..
3) または、Petsc 関数で MPI_COMM_WORLD を使用するだけで取得できますか..
4)または私が知らない別のアプローチはありますか?