MPICH is a freely available, portable implementation of MPI, the Standard for message-passing libraries.
Open MPI is an open source implementation of the Message Passing Interface, a library for distributed memory parallel programming.
"While openmpi supports more connection protocols there is an infiniband-enabled version of mpich called mvapich"
from question "What is difference between Hydra and Torque and what is better: MPICH2 or OpenMPI"
"It seems openmpi has better support for assigning ranks than mpich but setting up slurm and mpich wasn t trivial due to the cluster setup so i m hesitant to start over with openmpi"
from question "MPICH/SLURM assign host rank"