有谁知道如何在指定的CPU上执行mpirun?虽然“mpirun -np 4”指定了所使用的CPU数量,但我这里要做的是指定CPU ID。
操作系统是CentOS 5.6,MVAPICH2用于具有6x2内核的单个节点。
感谢您的合作。
答案 0 :(得分:2)
是;新版本的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.对于每个进程,映射是 由单个“:”分隔。