On Apr 30 2010, Ralph Castain wrote:
On Apr 30, 2010, at 6:15 AM, Jeff Squyres wrote:
MPI quite rightly does not specify this, because the matter is very
system- dependent, and it is not possible to return the exit code (or
display it) in all environments. Sorry, but that is reality.
Correct -- MPI intentionally does not say what happens after
MPI_FINALIZE. MPI intentionally doesn't even specify much about how to
start an MPI job (just like Fortran, actually).
Frankly, I disagree - I think the standard can and should say something
explicit about this situation. It doesn't have to say how we implement
it, but it should clearly explain to users what they should expect to see
at the end of an MPI job.
Guess the real issue is: is the standard written for the general
community, or solely for MPI implementers? If the latter, then saying
nothing is fine. If the former, then it needs to clearly say something
about this question.
No, that's NOT the real issue! The real issue is whether it CAN say
anything more without harming its portability.
You would have to start by defining what you mean as an "MPI job", and
I can assure you that it would be very hard to do. You may have used
only a few, very similar, MPIs and parallel environments, but I have
used a fairly wide range - and I know that I have only very limited
experience relative to what is out there!
There are environments where the MPI invokation command completes as
soon as the task has been submitted to a scheduler. In that case, it
obviously can't return anything based on the job execution. Should
such implementations be forbidden?
Regards,
Nick Maclaren.