I am running some quantum chemical calculations on a refurbished PowerEdge rack server, with dual quad-core Xeons, 16GB RAM, and a single 500GB SATA HDD. OS is vanilla Debian Wheezy. For one of the calculation types I'm running, I think I'm becoming disk-I/O-limited and so I installed a spare 160GB HDD I had on hand to try to ease the bottleneck.
In order to make use of the additional drive, though, I need to be able to tell OpenMPI to use multiple working directories. I know the --wdir commandline flag exists, but the documentation makes it look like it only accepts a single value. I unsuccessfully tried a hacky workaround:
- Creating a new user
scratch - Mounting the new 160GB drive as
/home/scratch/ - Setting up
/home/bskinn/.ssh/configto default to userbskinnwhen SSH-ing tolocalhostand to default to userscratchwhen SSh-ing to the server's internal192.168.x.xaddress - Creating appropriate RSA SSH keys, adding to
/home/bskinn/.ssh/authorized_keysand/home/scratch/.ssh/authorized_keys, and SSH-ing into each to get the host information stored for auto-acceptance - Adding
localhostand192.168.x.xto myompi_hostsfile and passing to OMPI with--hostfile /home/bskinn/ompi_hosts
If I ssh localhost I get logged in as bskinn, and if I ssh 192.168.x.x I get logged in as scratch, just like I want. However, while OpenMPI doesn't throw any errors, it appears to just ignore the ompi_hosts file and just runs all processes locally.
So: Is there a way to get OpenMPI 1.6.5 to use multiple working directories?
ADDENDUM: I'm running ORCA computations. ORCA is distributed as pre-compiled, statically-linked binaries. In particular, the OMPI calls are hard-coded into said binaries and not accessible to me. So, I can't intercept what commands are passed to OMPI, except perhaps by some sleight-of-hand wherein I relocate the ORCA binaries and replace them with shell scripts. That seems like a lot more work than it's worth.
ORCA does provide the ability to pass through whatever OMPI environment variables I want; I'm only really interested in solutions on this level of complexity.
This is a cross-post from SuperUser -- I won the Tumbleweed badge for it there (yay?), so I'm guessing it's not a good place for it. I don't have rep to migrate it, so apologies if re-posting in this manner is frowned upon.