Using MPI
From Yale HPC Wiki
Users writing their own MPI code (MPI message passing) must link to cluster MPI libraries. There are two mpi code bases available: MPICH and OpenMPI.
MPI Libraries
In addition, each MPI library has been compilied with two compilers: gcc & intel compilers. Thus users have choice of a four mpi libraries to use for their code.
Note: We have had past problems with the intel-compiled libraries for one-to-many (ie. scatter) & many-to-one (ie. gather) MPI operations.
MPI libraries are chosen using environment modules. See cluster environment modules for a full list of mpi libraries available.
Note: For clusters with high-speed interconnects such as Bulldogj, there will be special MPICH libraries to use these interconnects --- using the standard MPICH libraries will generally NOT use the high-speed interconnects.
Note2: OpenMPI libraries are generic, the same version works with high-speed interconnects when available.
Running MPI compiled code
OpenMPI users need to user the mpiexec or mpirun command to run their parallel code on the cluster.
MPICH users need to add mpdboot, mpiexec or mpirun, then mpdallexit to run their parallel programs on the cluster.
See our Writing_a_PBS_Script page for details about running MPI programs

