有谁知道如何在指定的 CPU 上执行 mpirun?虽然“mpirun -np 4”指定了使用的 CPU 数量,但我这里要做的是指定 CPU ID。
操作系统是 CentOS 5.6,MVAPICH2 用于具有 6x2 内核的单个节点上。
谢谢您的合作。
是的; 新版本的 mvapic2 使用hwloc库来启用 CPU 关联和绑定。
来自用户指南:
例如,如果您想在每个节点上运行 4 个进程并在每个节点上使用核心 0、1、4、5,您可以指定:
$ mpirun_rsh -np 64 -hostfile hosts MV2_CPU_MAPPING=0:1:4:5 ./a.out
或者
$ mpiexec -n 64 -f hosts -env MV2_CPU_MAPPING 0:1:4:5 ./a.out
这样,每个节点上的进程 0 会映射到内核 0,进程 1 会映射到内核 1,进程 2 会映射到内核 4,进程 3 会映射到内核 5。对于每个进程,映射由一个“:”分隔。