2

如何使用mpirun's-machine标志?

要选择要在哪个集群节点上执行,我想出使用像这样mpirun的选项-machinefile

> mpirun -machinefile $HOME/utils/Host_file -np <integer> <executable-filename>

Host_file包含节点列表,每行一个。

但是我想提交一大堆具有不同参数的进程,并且我不希望它们在同一个节点上运行。也就是说,我想做类似的事情

> mpirun -machinefile $HOME/utils/Host_file -np 1 filename 1
nano Host_file % change the first node name
> mpirun -machinefile $HOME/utils/Host_file -np 1 filename 2
nano Host_file
> mpirun -machinefile $HOME/utils/Host_file -np 1 filename 3
nano Host_file
...

我可以使用该-machine标志,然后为每次执行键入一个不同的节点。但我无法让它工作。例如

> mpirun -machine node21-ib -np 1 FPU
> mpirun -machine node21 -np 1 FPU

总是在主节点上执行。

我也试过这个-nodes选项

> mpirun -nodes node21-ib -np 1 FPU
> mpirun -nodes node21 -np 1 FPU

但这只是在我当前的节点上执行。

同样,我尝试了-nolocaland-exclude选项但没有成功。

所以我有一个简单的问题:如何使用该-machine选项?还是有更好的方法来做到这一点(对于 Linux 新手)?

我正在使用以下版本的 MPI,它似乎在网络上几乎没有文档(到目前为止,我所拥有的全部文档都来自> mpirun --help)。

> mpichversion
MPICH Version:          1.2.7
MPICH Release date:     $Date: 2005/06/22 16:33:49$
MPICH Patches applied:  none
MPICH configure:        --with-device=ch_gen2 --with-arch=LINUX -prefix=/usr/local/mvapich-gcc --with-romio --without-mpe -lib=-L/usr/lib64 -Wl,-rpath=/usr/lib64 -libverbs -libumad -lpthread
MPICH Device:           ch_gen2

谢谢你的帮助。

4

1 回答 1

1

您需要的是指定一个主机文件

例如在你的mpirun命令下尝试 mpirun -np 4 -hostfile hosts ./exec

其中 hosts 通常包含您的 IP 地址192.168.1.201:8,其中最后一位是最大核心数,每个节点用换行符分隔。理想情况下,您应该安装一些集群管理软件,例如 Torque 和 maui。

于 2012-12-24T04:22:13.767 回答