Hi Gilles,

MPI provides explicit comparison functions to compare opaque handles, for 
communicators it is MPI_Comm_compare.

- Joachim
________________________________
From: users <users-boun...@lists.open-mpi.org> on behalf of Guillaume De Nayer 
via users <users@lists.open-mpi.org>
Sent: Friday, June 24, 2022 5:13:17 PM
To: users@lists.open-mpi.org <users@lists.open-mpi.org>
Cc: Guillaume De Nayer <dena...@hsu-hh.de>
Subject: Re: [OMPI users] Intercommunicator issue (any standard about 
communicator?)

Thank you for these infos!

On 06/24/2022 05:06 PM, Jeff Squyres (jsquyres) via users wrote:
> Open MPI and MPICH are completely unrelated -- we're entirely different code 
> bases (note that Intel MPI is derived from MPICH).
>
> Case in point is what Gilles cited: Open MPI chose to implement MPI_Comm 
> handles as pointers, but MPICH chose to implement MPI_Comm handles as 
> integers.  Hence, you can't really compare the MPI_Comm values from Open MPI 
> vs. MPI_Comm values from MPICH/Intel MPI -- they're fundamentally 
> representing different things.
>
> The MPI standard doesn't say anything about the values of MPI handles (e.g., 
> MPI_Comm handles).  They're just a value that a user program can pass around. 
>  When that handle is given to the MPI implementation (e.g., by passing it to 
> MPI_Send() or other MPI API), the only rule is that the MPI implementation 
> has to be able to map that handle into whatever back end data structures are 
> relevant to implement the concept of an MPI communicator.  Hence: the handle 
> is meaningless to the application -- it's just an opaque value that the user 
> program can pass around.
>
> User applications *can* compare it to the value for MPI_COMM_NULL, but that's 
> about it.
>
> --
> Jeff Squyres
> jsquy...@cisco.com
>
> ________________________________________
> From: users <users-boun...@lists.open-mpi.org> on behalf of Guillaume De 
> Nayer via users <users@lists.open-mpi.org>
> Sent: Friday, June 24, 2022 8:29 AM
> To: users@lists.open-mpi.org
> Cc: Guillaume De Nayer
> Subject: Re: [OMPI users] Intercommunicator issue (any standard about 
> communicator?)
>
> Hi Gilles,
>
> I'm using both openmpi and intel mpi. I have with both problem with the
> communicators. Therefore, I tried to get some infos about them.
>
> Thx a lot for your help.
> Have a nice day
>
> On 06/24/2022 02:14 PM, Gilles Gouaillardet via users wrote:
>> Guillaume,
>>
>> MPI_Comm is an opaque handler that should not be interpreted by an end user.
>>
>> Open MPI chose to implement is as an opaque pointer, and MPICH chose to
>> implement it as a 32 bits unsigned integer.
>> The 44000000 value strongly suggests you are using MPICH and you are
>> hence posting to the wrong mailing list
>>
>>
>> Cheers,
>>
>> Gilles
>>
>> On Fri, Jun 24, 2022 at 9:06 PM Guillaume De Nayer via users
>> <users@lists.open-mpi.org <mailto:users@lists.open-mpi.org>> wrote:
>>
>>     Hi Gilles,
>>
>>     MPI_COMM_WORLD is positive (44000000).
>>
>>     In a short code I wrote I have something like that:
>>
>>     MPI_Comm_dup(MPI_COMM_WORLD, &world);
>>     cout << "intra-communicator: " << "world" << "---" << hex << world
>>     << endl;
>>
>>     It returns "84000006" (in hex).
>>
>>     later I have:
>>
>>     MPI_Comm_accept(port_name, MPI_INFO_NULL, 0, world, &interClient);
>>     cout << "intercommunicator interClient=" << interClient << endl;
>>
>>     After connection from a third party client it returns "c4000003" (in
>>     hex).
>>
>>     Both 84000006 and c4000003 are negative integer in dec.
>>
>>     I don't know if it is "normal". Therefore I'm looking about rules on the
>>     communicators, intercommunicators.
>>
>>     Regards,
>>     Guillaume
>>
>>
>>     On 06/24/2022 11:56 AM, Gilles Gouaillardet via users wrote:
>>     > Guillaume,
>>     >
>>     > what do you mean by (the intercommunicators are all negative"?
>>     >
>>     >
>>     > Cheers,
>>     >
>>     > Gilles
>>     >
>>     > On Fri, Jun 24, 2022 at 4:23 PM Guillaume De Nayer via users
>>     > <users@lists.open-mpi.org <mailto:users@lists.open-mpi.org>
>>     <mailto:users@lists.open-mpi.org <mailto:users@lists.open-mpi.org>>>
>>     wrote:
>>     >
>>     >     Hi,
>>     >
>>     >     I am new on this list. Let me introduce myself shortly: I am a
>>     >     researcher in fluid mechanics. In this context I am using
>>     softwares
>>     >     related on MPI.
>>     >
>>     >     I am facing a problem:
>>     >     - 3 programs forms a computational framework. Soft1 is a coupling
>>     >     program, i.e., it opens an MPI port at the beginning. Soft2
>>     and Soft3
>>     >     are clients, which connect to the coupling program using
>>     >     MPI_Comm_connect.
>>     >     - After the start and the connections of Soft2 and Soft3 with
>>     Soft1, it
>>     >     hangs.
>>     >
>>     >     I started to debug this issue and as usual I found another
>>     issue (or
>>     >     perhaps it is not an issue):
>>     >     - The intercommunicators I get between Soft1-Soft2 and
>>     Soft1-Soft3 are
>>     >     all negative (running on CentOS 7 with infiniband Mellanox
>>     OFED driver).
>>     >     - Is there some standard about communicator? I don't find anything
>>     >     about
>>     >     this topic.
>>     >     - What is a valid communicator, intercommunicator?
>>     >
>>     >     thx a lot
>>     >     Regards
>>     >     Guillaume
>>     >
>>
>>
>
>
>


Reply via email to