[Mpi-forum] MPI_Abort - meaning
Jeff Squyres
jsquyres at cisco.com
Tue Apr 6 16:37:42 CDT 2010
On Apr 6, 2010, at 4:51 PM, Richard Treumann wrote:
> This again brings me back to thinking perhaps the MPI standard cannot offer any decent semantic for a single task making a decision to terminate with success and the people who want this for their applications cannot have it.
It's almost the same semantic as:
if (i_have_reached_a_good_state) {
printf("Hey user -- we're good. Hit ctrl-c, will ya?\n");
while (1) sleep(100000);
}
Right? I know that ctrl-c processing (or equivalent) is not mandated -- but it's supported by all MPI implementations.
I would assume that your initial assertions are useful: basically, no guarantees are given about the state of anything. If you're calling MPI_QUIT, you're doing so because you don't want to implement a (perhaps complex) control protocol that can shut down all MPI processes in an orderly fashion. You want a more-or-less immediate shutdown of all MPI processes with indication of a "successful" shutdown.
I'm sure there's some corner cases to figure out, though -- here's a few off the top of my head:
- what happens if MPI_QUIT and MPI_ABORT are invoked simultaneously in multiple MPI processes? What about in the same process?
- what happens if an error occurs in MPI_QUIT processing?
--
Jeff Squyres
jsquyres at cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/
More information about the mpi-forum
mailing list