MPI Implementation on SGI
- In C, mpi_init ignores all arguments passed to it
- All MPI processes are required to call mpi_finalize at exit
- I/O streams:
- stdin is enabled only for the master thread (process with rank 0)
- stdout and stderr are enabled for all the threads and line buffered
- output from different MPI threads can be prepended with -prefix argument;
output sent to mpirun process
example: mpirun -prefix “<proc %g out of %G> “ prints: <proc 0 out of 2> Hello World <proc 1 out of 2> Hello World
- see man mpi(5) and man mpirun(1) for a complete description
- Systems with the HIPPI software installed will trigger usage of the HIPPI optimized communication (HIPPI bypass). If the hardware is not installed it is necessary to switch the HIPPI bypass off (setenv MPI_BYPASS_OFF TRUE)
- With f77/f90, the -auto_use mpi_interface flag is available to check the consistency of mpi arguments at compile time
- With -64 compilation, mpi run time maps out the address space such that shared memory optimizations are available to circumvent the double copy problem. In particular, communication involving static data (I.e. common blocks) can be sped up.