[Mpi-forum] MPI_Abort - meaning

Jeff Squyres jsquyres at cisco.com
Tue Apr 6 15:06:33 CDT 2010

On Apr 5, 2010, at 4:42 PM, N.M. Maclaren wrote:

> I agree with Richard's reservations, incidentally.  About the best that
> can be done is to specify an MPI_Quit that stops the calling process
> cleanly (in the language sense) and has the effect of MPI_Abort on the
> others.  But, as I said, even that is tricky to implement on some systems
> and may not be reliable.

You mentioned this in an earlier post -- can you explain some issues?  For example, you mention it might be difficult with systems that use sysv shared memory.  Why?

I ask with the *assumption* that the MPI implementation can/will have some kind of helper run-time system around that can do whatever cleanup is required (MPI-2 dynamics more-or-less require this anyway).  Keep in mind that I'm not saying that the run-time system has to be part of the MPI implementation -- it may simply be provided on the system.  For example: if sysv memory segments are left lying around because MPI processes are killed by the run-time system, a high-quality run-time system should be able to clean up the shared memory as well (or at least provide hooks such that MPI processes can tell the run-time system about resources that would need to be cleaned up in the event of untimely MPI process deaths, such as sysv shared memory segments).

Is that a bad assumption?

Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to:

More information about the mpi-forum mailing list