Good afternoon, I am attaching a simple fortran code that:
- calls the MPI_INIT - duplicates the global communicator, via MPI_COMM_DUP - creates a group with half of processes of the global communicator, via MPI_COMM_GROUP - finally from this group creates a new communicator via MPI_COMM_CREATE_GROUP This last call is done using as a first argument MPI_COMM_WORLD instead of the duplicated communicator used for creating the group. With the intel MPI (ifort version 19.0.2.187, but also older) this generates a seg fault, while using openMPI it doesn't. Uncommenting line 18 and commenting line 19 works fine with both. Now, looking at the documentation <https://www.mpich.org/static/docs/v3.1/www3/MPI_Comm_dup.html>, it seems like this code shouldn't work after all, because the "MPI_COMM_DUP creates a new communicator over the same group as comm but with a* new context*" and so it should't be possible to use the MPI_COMM_WORLD as a first argument of the create MPI_COMM_CREATE_GROUP. What do you think? In the beginning I was thinking about a bug in the intel MPI, but now I'm simply a bit confused ... Thank you in advance for the help Stella
mpi_comm_create_group.F90
Description: Binary data
_______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users