Importance: Normal Subject: Re: MPI_Abort nit To: mpi-core@XXXXXXXXXXX X-Mailer: Lotus Notes Release 5.0.3 (Intl) 21 March 2000 From: "Richard Treumann" Date: Thu, 1 Feb 2001 15:55:17 -0500 X-MIMETrack: Serialize by Router on D01ML077/01/M/IBM(Release 5.0.6 |January 4, 2001) at 02/01/2001 03:54:47 PM MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Sender: owner-mpi-core@XXXXXXXXXXXXX Precedence: bulk Another reason for leaving this as a somewhat vague analogy to OS behavior is that AIX delivers the low order 8 bits as a process return code. I just fixed a longstanding bug in IBM's MPI which prevented the MPI_Abort arg from being delivered at all. Now we do just what AIX does with an exit(n) or return n, we return the low 8 bits. Dick Treumann RS/6000 SP Development IBM Poughkeepsie Unix Development Lab Dept 0lva / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601 Tele (845) 433-7846 Fax (845) 433-8363 ---------------------- Forwarded by Richard Treumann/Poughkeepsie/IBM on 02/01/2001 03:46 PM --------------------------- William Gropp @mpi-forum.org on 01/31/2001 05:56:55 PM Sent by: owner-mpi-core@mpi-forum.org To: Karl Feind cc: mpi-core@XXXXXXXXXXX Subject: Re: MPI_Abort nit At 12:06 PM 1/31/2001 -0600, Karl Feind wrote: >In the MPI-1 standard, we have this description of MPI_Abort(): > > MPI_ABORT(COMM, ERRORCODE, IERROR) > INTEGER COMM, ERRORCODE, IERROR > > This routine makes a ``best attempt'' to abort all tasks in the group > of comm. This function does not require that the invoking environment > take any action with the error code. However, a Unix or POSIX > environment should handle this as a return errorcode from the main > program or an abort(errorcode). > >This is a minor nit, but POSIX and ANSI C specify that the abort() >function does not take an argument. Hence the meaning of >"abort(errorcode)" above is unclear. I think we should queue up a >clarification/fix to the standard unless there's a meaning here that I'm >misunderstanding. Thanks; I've added it to the clarification list. My interpretation followed the "handle this as a return errorcode from the main program" branch; but either interpretation is ok. However, note that the "should" here was not intended to be mandatory; it merely suggests what a user-friendly implementation might do. As a *user*, I'd like the specified error code returned by mpirun to the invoking environment. However, any clarification should make clear that there is no required return value (this is a quality of implementation issue). I can see environments where the return status indicates not only the code but the processes that caused the abort ... Bill