0

我需要在我的 Mpi 程序中按循环顺序安排进程。

我有一个有 8 个节点的集群,每个集群都有四核处理器。我在 Ubuntu Linux 下使用 mpich2-1.4.1p1 版本。

如果使用此机器文件:

node01
node02
node03
node04
node05
node06
node07
node08

然后运行:

mpiexec -np 10 -machinefile host ./my-program

我有一个正确的调度,排名 0 到 node01,排名 1 到 node02,... rank8 到 node01,最后排名 9 到 node02

但我需要知道 0 级和 8 级是否在同一个核心上运行。我需要排名 0 在 node01 上的第一个核心上工作,在第二个上排名 8。

如果我使用不同的机器文件:

node01:4
node02:4
node03:4
node04:4
node05:4
node06:4
node07:4
node08:4

然后运行:

mpiexec -np 10 -machinefile host2 ./my-program

我在 node01 上运行该等级 0,1,2,3 。而且不是我想要的。

如何强制 Hydra 首先在节点上使用循环法,然后在使用第二个机器文件的核心上使用?

4

0 回答 0