#include <mpi.h> int MPI_Abort(MPI_Comm comm, int errcode)
Makes a "best attempt" to terminate all MPI processes associated with the communicator comm ; for non-IMPI jobs, this will terminate all processes. MPI_Abort will hang, however, if the LAM daemon on the node on which a rank was running has died. For example, if a node gets powered off in the middle of an MPI run and MPI_Abort is invoked, it may hang trying to contact the LAM daemon on the downed node.
In the case of an IMPI job, in addition to terminating all local IMPI procs, this function will also send an abort message to the local IMPI host, which will, in turn send "closing" messages to all the other IMPI hosts. Their behavior upon receipt of these "closing" messages is implementation dependant.
If the LAM IMPI host receives a premature "closing" message from a remote IMPI host, it will attempt to continue processing. Any new messages to that host will likely hang, however.
This is mainly because MPI_Abort is used internally in LAM/MPI to abort MPI upon error; LAM packs all three pieces of data into the errcode. Users who wish to return a specific value from the program
return ((return_code << 17) +.