我正在翻新的 PowerEdge 机架服务器上运行一些量子化学计算,该服务器具有双四核 Xeon、16GB RAM 和单个 500GB SATA HDD。操作系统是香草 Debian Wheezy。对于我正在运行的一种计算类型,我认为我的磁盘 I/O 受限,因此我安装了一个备用的 160GB 硬盘来缓解瓶颈。
不过,为了使用额外的驱动器,我需要能够告诉 OpenMPI 使用多个工作目录。我知道--wdir
命令行标志存在,但文档使它看起来只接受一个值。我没有成功地尝试了一个 hacky 解决方法:
- 创建新用户
scratch
- 将新的 160GB 驱动器安装为
/home/scratch/
- 当 SSH-ing 到服务器的内部地址时设置
/home/bskinn/.ssh/config
为默认用户,以及bskinn
当 SSH-ing 到服务器的内部地址时localhost
默认为用户scratch
192.168.x.x
- 创建适当的 RSA SSH 密钥,添加到
/home/bskinn/.ssh/authorized_keys
和/home/scratch/.ssh/authorized_keys
,并 SSH-ing 到每个以获取存储的主机信息以供自动接受 - 添加
localhost
和192.168.x.x
到我的ompi_hosts
文件并传递给 OMPI--hostfile /home/bskinn/ompi_hosts
如果我ssh localhost
以 身份登录bskinn
,并且ssh 192.168.x.x
以 身份登录scratch
,就像我想要的那样。然而,虽然 OpenMPI 没有抛出任何错误,但它似乎只是忽略了该ompi_hosts
文件并只是在本地运行所有进程。
那么:有没有办法让 OpenMPI 1.6.5 使用多个工作目录?
附录:我正在运行 ORCA 计算。ORCA作为预编译的静态链接二进制文件分发。特别是,OMPI 调用被硬编码到所述二进制文件中,我无法访问。因此,我无法截获传递给 OMPI 的命令,除非通过一些技巧,我重新定位 ORCA 二进制文件并用 shell 脚本替换它们。这似乎比它的价值多得多。
ORCA 确实提供了通过任何我想要的 OMPI 环境变量的能力;我只对这种复杂程度的解决方案真正感兴趣。
这是来自SuperUser的交叉帖子——我在那里赢得了 Tumbleweed 徽章(是吗?),所以我猜这不是一个适合它的地方。我没有代表来迁移它,所以如果以这种方式重新发布不受欢迎,我们深表歉意。