Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] MPI_Comm_split and intercommunicator - Problem
From: Rodrigo Oliveira (rsilva.oliveira_at_[hidden])
Date: 2012-01-26 12:11:25


Hi there, I tried to understand the behavior Thatyene said and I think is a
bug in open mpi implementation.

I do not know what exactly is happening because I am not an expert in ompi
code, but I could see that when one process define its color as *
MPI_UNDEFINED*, one of the processes on the inter-communicator blocks in
the call to the function bellow:

/* Step 3: set up the communicator */
    /* --------------------------------------------------------- */
    /* Create the communicator finally */
    rc = ompi_comm_set ( &newcomp, /* new comm */
                         comm, /* old comm */
                         my_size, /* local_size */
                         lranks, /* local_ranks */
                         my_rsize, /* remote_size */
                         rranks, /* remote_ranks */
                         NULL, /* attrs */
                         comm->error_handler,/* error handler */
                         (pass_on_topo)?
                         (mca_base_component_t *)comm->c_topo_component:
                         NULL, /* topo component */
                         NULL, /* local group */
                         NULL /* remote group */
    );

This function is called inside *ompi_comm_split*, in the file *
ompi/communicator/comm.c*
*
*
Is there a solution for this problem in some revision? I insist in this
problem because I need to use this function for a similar purpose.

Any idea?

On Wed, Jan 25, 2012 at 4:50 PM, Thatyene Louise Alves de Souza Ramos <
thatyene_at_[hidden]> wrote:

> It seems the split is blocking when must return MPI_COMM_NULL, in the case
> I have one process with a color that does not exist in the other group or
> with the color = MPI_UNDEFINED.
>
> On Wed, Jan 25, 2012 at 4:28 PM, Rodrigo Oliveira <
> rsilva.oliveira_at_[hidden]> wrote:
>
>> Hi Thatyene,
>>
>> I took a look in your code and it seems to be logically correct. Maybe
>> there is some problem when you call the split function having one client
>> process with color = MPI_UNDEFINED. I understood you are trying to isolate
>> one of the client process to do something applicable only to it, am I
>> wrong? According to open mpi documentation, this function can be used to do
>> that, but it is not working. Anyone have any idea about what can be?
>>
>> Best regards
>>
>> Rodrigo Oliveira
>>
>>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>