mpich usually won't be in PATH or LD_LIBRARY_PATH. To initialize the environment use the module command:
[pal]$ module avail # show available module; if module is undefined (bash) source /etc/profile.d/modules.sh [pal]$ module load mpich-x86_64 # initialize environment [el7]% module load mpi/mpch-x86_64 # on el7-nodes the setup differs slightly [pal]$ which mpicc /usr/lib64/mpich/bin/mpicc
mpich will work on HPC and BIRD. In contrast to openmpi or mvapich, mpich will by default use ethernet for communications. To use an infiniband backbone, one needs to specifiy the interface explictly:
shell$ mpiexec -f hostfile -iface ib0 -n 4 ./my-mpi-application
Note:
- RedHat has updated the MPI stack for mpich, mvapich, openmpi. For mpich that meant to upgrade from mpich-2 to mpich-3, rename mpich-3 to mpich (which used to refer to mpich-1).
- The old mpd process manager has been deprecated. mpdboot, mpdallexit and other applications have been removed. The recommended process manager is hydra.
- hydra acts in the background running jobs via mpiexec/mpirun. There is simply no need anymore to start/stop separate daemons.
- Though mpich-3 support infiniband, mvapich is most likely the better choice in this case. mvapich is a derivative of mpich particularly tuned for IB interfaces.
- This applies only for EL6.6 or higher.
Documentation:
Please consult the mpich documentations and FAQ: