Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] Asynchronous behaviour of MPI Collectives
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2009-01-23 06:51:21

On Jan 23, 2009, at 6:32 AM, Gabriele Fatigati wrote:

> I've noted that OpenMPI has an asynchronous behaviour in the
> collective calls.
> The processors, doesn't wait that other procs arrives in the call.

That is correct.

> This behaviour sometimes can cause some problems with a lot of
> processors in the jobs.

Can you describe what exactly you mean? The MPI spec specifically
allows this behavior; OMPI made specific design choices and
optimizations to support this behavior. FWIW, I'd be pretty surprised
if any optimized MPI implementation defaults to fully synchronous
collective operations.

> Is there an OpenMPI parameter to lock all process in the collective
> call until is finished? Otherwise i have to insert many MPI_Barrier
> in my code and it is very tedious and strange..

As you have notes, MPI_Barrier is the *only* collective operation that
MPI guarantees to have any synchronization properties (and it's a
fairly weak guarantee at that; no process will exit the barrier until
every process has entered the barrier -- but there's no guarantee that
all processes leave the barrier at the same time).

Why do you need your processes to exit collective operations at the
same time?

Jeff Squyres
Cisco Systems