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