HP-MPI Version 2.2 for Linux Release Note

HP-MPI V2.2 for Linux Release Note
What’s in This Version
18
Signal Propagation
HP-MPI 2.2 supports the propagation of signals from mpirun to application ranks. The
mpirun executable traps the following signals and propagates them to the ranks:
SIGINT
SIGTERM
SIGABRT
SIGALRM
SIGFPE
SIGHUP
SIGILL
SIGPIPE
SIGQUIT
SIGSEGV
SIGUSR1
SIGUSR2
SIGBUS
SIGPROF
SIGSYS
SIGTRAP
SIGURG
SIGVTALRM
SIGPOLL
SIGCONT
SIGTSTP
If prun/srun is used for launching the application, then mpirun sends the signal to the
responsible launcher and relies on the signal propagation capabilities of the launcher to
ensure that the signal is propagated to the ranks. When using prun, SIGTTIN is also
intercepted by mpirun, but is not propagated.
When using an appfile, HP-MPI propagates these signals to remote HP-MPI daemons (mpid)
and local ranks. Each daemon propagates the signal to the ranks it created. An exception is
the treatment of SIGTSTP. When a daemon receives a SIGTSTP signal, it propagates
SIGSTOP to the ranks it created and then raises SIGSTOP on itself. This allows all processes
related to an HP-MPI execution to be suspended and resumed using SIGTSTP and SIGCONT.
The HP-MPI library also changes the default signal handling properties of the application in a
few specific cases. When using the -ha option to mpirun, SIGPIPE is ignored. When using
MPI_FLAGS=U, a signal handler is established for SIGUSR1. When using MPI_FLAGS=sa, a
signal handler is established for SIGALRM. When using MPI_FLAGS=sp, a signal handler is
established for SIGPROF.