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.