Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Georg Wassen (wassen_at_[hidden])
Date: 2007-06-26 06:42:43


Hello,

I'm working on a collective component and need point-to-point
communication during module-initialization.
As BTL is initialized prior to the collectives, I tried to use send and
recv like MPI_Send/_Recv do:

err = MCA_PML_CALL(send(buf, size, MPI_CHAR, to_id,
        COLL_SCI_TAG, MCA_PML_BASE_SEND_STANDARD, comm));

This works for a total of 32 Bytes (8 times 4 Bytes) to each receiver.
If I increase the number of processes, recv just doesn't return after 8
recv-calls. (Further, this communication is extremely slow.)

When I try to use MPI_Send/_Recv themselves, an error "MPI not yet
initialized" occurs.

Long story short: is there a way to communicate during
mca_coll_*_module_init between different processes?
(I don't want to use TCP/IP-sockets while Open MPI should be able to do
this more portable.)

Thanks for your help,
Georg Wassen.