如何使用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
但这只是在我当前的节点上执行。
同样,我尝试了-nolocal
and-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
谢谢你的帮助。