Skip to content

MPI-4: Broken communicator out of MPI_Comm_create_from_group() #10449

@dalcinl

Description

@dalcinl

I'm using current git main branch, configuring with debug arguments and --with-<dep>=internal for all <dep>s.

$ git submodule status
 26ff1684378e1c5859e377249a3e78f287b04216 3rd-party/openpmix (v1.1.3-3523-g26ff1684)
 47b5ad1653123e984a644ef84b9a7aaf4e9b5fb3 3rd-party/prrte (psrvr-v2.0.0rc1-4355-g47b5ad1653)

Looks like something weird is going on with MPI_Comm_create_from_group().

This is a trivial reproducer using mpi4py. Clarification: The C-level call to MPI_Comm_create_from_group() uses arguments stringtag="org.mpi4py", info=MPI_INFO_NULL, and errhandler=MPI_ERRORS_RETURN.

from mpi4py import MPI
group = MPI.COMM_SELF.Get_group()
comm = MPI.Intracomm.Create_from_group(group)
cval = MPI.Comm.Compare(MPI.COMM_SELF, comm)
assert cval == MPI.CONGRUENT

However, the final assert line is never reached, instead I get:

$ python /tmp/test.py 
Traceback (most recent call last):
  File "/tmp/test.py", line 4, in <module>
    cval = MPI.Comm.Compare(MPI.COMM_SELF, comm)
  File "mpi4py/MPI/Comm.pyx", line 111, in mpi4py.MPI.Comm.Compare
mpi4py.MPI.Exception: MPI_ERR_ARG: invalid argument of some other kind

MPI_Comm_compare() fails on the output communicator from MPI_Comm_create_from_group().

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions