On Apr 30 2010, Jeff Squyres wrote:

The last paragraph of the specification of MPI_Finalize makes it clear
that it is the USER'S responsibility to return an exit code to the system
for process 0, and that what happens for other ones is undefined.  Or
fairly clear - it could be stated in so many words, rather than being
implicit in the requirement on implementors.

I don't think that's quite feasible, because the user doesn't directly control what mpirun returns. So (many) implementations *have* to choose something from their job start agent (mpirun or mpiexec or whatever).

Yes.  Thanks for correcting me.  I worded that sloppily.  It is the user's
responsibility to return such a code from process 0, but MPI says nothing
about what mpiexec/mpirun then does with that code - IF it ever sees it -
and, in some environments, it doesn't!

I think OMPI's behavior of returning 0 from mpirun if and only if all processes call MPI_FINALIZE successfully *and* return 0 is good. ...

It's fine by me.  That's a sane and simple specification.  Some people
will prefer others, as usual.


Regards,
Nick Maclaren.


Reply via email to