I’m using OpenMPI on an Xserve cluster running OS X Server 10.4.8. The user directories exist on an XserveRAID connected to the master node via fibre channel. So, on the master node the full pathname for the user directories is /Volumes/RAID1/users1. The compute nodes of the cluster automount the user directories via NFS, so the full path to the user directories appears on the nodes as /xhome/users1. I created a hostfile list of all the compute nodes on the cluster, not including the master node. When I attempt to run a program in my home directory matt from the master node with
mpirun –hostfile nodes –np 4 program
it fails because it cannot find program. If I add the –wdir option and specify the directory as /xhome/users1/matt, everything is fine.
My question is this, how does OpenMPI determine your working directory, and is there a way to fix this without the –wdir option? For example, if you look at the PWD environment variable, it is always /xhome/users1/matt, even on the master. If you use the pwd command, however, you get different the two different results on the master and the nodes.