【发布时间】:2013-08-13 01:03:59
【问题描述】:
有人知道如何在指定的 CPU 上执行 mpirun 吗?虽然“mpirun -np 4”指定了使用的CPU数量,但我这里要做的是指定CPU ID。
操作系统为 CentOS 5.6,MVAPICH2 用于具有 6x2 内核的单个节点。
感谢您的合作。
【问题讨论】:
有人知道如何在指定的 CPU 上执行 mpirun 吗?虽然“mpirun -np 4”指定了使用的CPU数量,但我这里要做的是指定CPU ID。
操作系统为 CentOS 5.6,MVAPICH2 用于具有 6x2 内核的单个节点。
感谢您的合作。
【问题讨论】:
是的;新版本的 mvapich2 使用 hwloc 库来启用 CPU 关联和绑定。
来自User Guide:
例如,如果您想每个节点运行 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。对于每个进程,映射为 用一个“:”分隔。
【讨论】: