the install.sh script currently does not enable MPI and so when it is run with mpiexec it just runs on a single thread. A possible fix is:
tar -zxvf MrBayes-3.2.7a.tar.gz
cd MrBayes-3.2.7a
env MPICC=mpicc ./configure --with-mpi
make
echo $? > ~/install-exit-status
Note:
one needs to set MPICC and use --with-mpi with ./configure
on small memory systems make -j $NUM_CPU_CORES can OOM kill the build with MPI builds, so best to build it with one CPU
Also when running with just a few CPUs I've hit bugs with mrbayes and weird memory allocation issues being reported (from src/utils.c) during MPI runs:
WARNING: Reallocation of zero size attempted. This is probably a bug. Problems may follow.
WARNING: Reallocation of zero size attempted. This is probably a bug. Problems may follow.
..so I'm not sure if this is a scalable test case :-( As it stands, the test is not scaled onto the number of CPUs. I've run it on 1..24 cpus and don't see any scaling in performance because it's not built with a MPI toolchain.
the install.sh script currently does not enable MPI and so when it is run with mpiexec it just runs on a single thread. A possible fix is:
Note:
Also when running with just a few CPUs I've hit bugs with mrbayes and weird memory allocation issues being reported (from src/utils.c) during MPI runs:
..so I'm not sure if this is a scalable test case :-( As it stands, the test is not scaled onto the number of CPUs. I've run it on 1..24 cpus and don't see any scaling in performance because it's not built with a MPI toolchain.