How do I run MrBayes MPI (parallel) version in the background on an SGI machine?
In order to run the MPI version of MrBayes in the background on an SGI machine (running IRIX or Linux), you need to make a bogus redirection of stdin along the following lines: mpirun -np 8 mb_multi myfile.nxs < /dev/null > log.txt & Here, mb_multi is the MPI version of MrBayes compiled as described above. For this to work, you must have all relevant commands (set, lset, prset, mcmc, etc.) in the nexus file as a MRBAYES block. The reason for the redirection trick is explained in the mpirun manpage: Running an MPI job in the background is supported only when stdin is redirected. The mpirun process is still connected to the tty when a job is placed in the background. One of the things that mpirun polls for is input from stdin. If it happens to be polling for stdin when a user types in a window after putting an MPI job in the background, and stdin has not been redirected, the job will abort upon receiving a SIGTTIN signal. This behavior is intermittent, depending on whether mpirun happens
Related Questions
- I am trying to run MrBayes under MPI on an SGI IRIX machine. What does the error message "array services not available" mean?
- Is there a version of PAUP* that will run a search in parallel on a multiple processor machine or a cluster of machines?
- How do I run MrBayes MPI (parallel) version in the background on an SGI machine?