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_Bcast vs. per worker MPI_Send?
From: Eugene Loh (eugene.loh_at_[hidden])
Date: 2010-12-14 12:03:21

David Mathog wrote:

>For the receive I do not see how to use a collective. Each worker sends
>back a data structure, and the structures are of of varying size. This
>is almost always the case in Bioinformatics, where what is usually
>coming back from each worker is a count M of the number of significant
>results, M x (fixed size data per result: scores and the like), and M x
>sequences or sequence alignments. M runs from 0 to Z, where in
>pathological cases, Z is a very large number, and the size of the
>sequences or alignments returned also varies.
A collective call might not make sense in this case.

Arguably, each process could first send a size message (how much stuff
is coming) and then the actual data. In this case, you could do an
MPI_Gather, master could allocate space, and then you do an MPI_Gatherv.

But it may make more sense for you to stick to your point-to-point
implementation. It may allow the master to operate with a smaller
footprint and it may allow first finishers to send their results back
earlier without everyone waiting for laggards.