The MPI standard says that MPI_Abort makes a "best effort". It also says that an MPI implementation is free to lose the value passed into MPI_Abort and deliver some other RC..

The standard does not say that MPI_Abort becomes a valid way to end a parallel job if it is passed a zero.

To me it seems pretty clear the name MPI_Abort is was chosen to imply failure.

I think modifying the standard to be explicit about what must happen when MPI_Abort is passed zero would be an option. It is a ugly one in my view but it would give this kind of application the equivalent of MPI_Quit.

Right now, someone who passes a zero to MPI_Abort would have a hard time claiming his application is valid.


Dick Treumann - MPI Team
IBM Systems & Technology Group
Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601
Tele (845) 433-7846 Fax (845) 433-8363

Inactive hide details for "Terry Frankcombe" ---04/06/2010 01:33:53 PM---> Jeff - >"Terry Frankcombe" ---04/06/2010 01:33:53 PM---> Jeff - >


"Terry Frankcombe" <>


"Open MPI Users" <>


04/06/2010 01:33 PM


Re: [OMPI users] Hide Abort output

Sent by:

> Jeff -
> I started a discussion of MPI_Quit on the MPI Forum reflector.  I raised
> the question because I do not think using MPI_Abort is appropriate.
> The situation is when  a single task decides the parallel program has
> arrived at the desired answer and therefore whatever the other tasks are
> currently doing has become irrelevant.  The other tasks do not know that
> the answer has been found by one of them so they cannot just call
> MPI_Finalize.
> Do we need a clean and portable way for the task that detects that the
> answer has been found and written out to do a single handed termination of
> the parallel job?

I'm not Jeff.  But isn't that MPI_Abort with an appropriate errorcode
argument, provided we can get it to shut up?

users mailing list