Clearing up MPI confusion

I’ve played with MPI-enabled software on small clusters in the past and somehow formed the impression that LAM-MPI and MPICH were mutually exclusive. Not so. On Debian-like systems, LAM-MPI will install itself in /usr, with executables in /usr/bin. You then edit /etc/lam/bhost.def to define your machines. MPICH puts itself in /usr/lib/mpich, with executables in /usr/lib/mpich/bin. Your machine list lives in /etc/mpich/machines.LINUX. So ‘mpirun’ will fire up /usr/bin/mpirun (LAM-MPI), or you can specify the full path ‘/usr/lib/mpich/bin/mpirun’ for the MPICH version.

I discovered all of this whilst experimenting with SPEL, a package for predicting functional specificity determinants from protein sequence alignments. It uses MPICH during the prediction and looks quite handy.