I compiled the MPI version of mothur with gcc 4.6.0 and openmpi 1.4.4. After a few hiccups with the libstdc++ libraries I was able to get mothurMPI running. I tried it on one sample using this command
/share/apps/mpi/gcc460/openmpi-1.4.3/bin/mpirun --hostfile host_8_8 -np 28 --bynode /share/apps/mothur/mothurMPI "#shhh.flows(file=DNA_2.flow.files)"
It starts and gets to this stage:
TERM environment variable not set. TERM environment variable not set. TERM environment variable not set. Unable to open LookUp_Titanium.pat. Trying mothur's executable location /share/apps/mothur/mothurLookUp_Titanium.pat Getting preliminary data... >>>>> Processing DNA_2.LB3-1.flow (file 1 of 1) <<<<< Reading flowgrams... Identifying unique flowgrams... Calculating distances between flowgrams...
mothurMPI starts as planned on each node, runs at 100% cpu and doesn’t finish. I tried it with the same files on my mac with 8 processors, without mpi, and it finishes in a few seconds.
I then quit the process on the linux box and tried this command, to use just the processors on one node.
/share/apps/mpi/gcc460/openmpi-1.4.3/bin/mpirun --hostfile host_8_8 -np 8 /share/apps/mothur/mothurMPI "#shhh.flows(file=DNA_2.flow.files)"
Amazingly the run finishes in a second. So, it looks like there is a problem with the first command and the TERM environment. I can run other mpi programs, like raxml and mpiBLAST with no problems. Anyone have any ideas as to how to solve this?