如何在`mpirun`的命令行中指定节点?

时间:2012-12-22 02:02:35

标签: linux mpi

如何使用mpirun的{​​{1}}标志?

要选择要执行的群集节点,我想出使用此-machine的{​​{1}}选项

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 选项但未成功。

所以我有一个简单的问题:如何使用-nolocal选项?或者有更好的方法(对于Linux新手)?

我正在使用以下版本的MPI,它似乎在Web上的文档很少(到目前为止,我所有的文档来自-exclude)。

-machine

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要的是具体的主机文件

例如,在mpirun命令中尝试mpirun -np 4 -hostfile hosts ./exec

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