0


我正在研究具有 144 个内核的 HPC。
我有 24 个节点,每个节点都有 6cpus。像
节点 0:0,1,2,3,4,5
节点 1:6,7,8,9,10,11
...
使用 Mpich2。我正在像这样运行我的 c ecxecutable。 mpiexec -n 25 ./a.out
在 a.out 中,它将作为 rank 0 使 master rank 1(这是免费的)工作,而 master rank 1 使 X=6 数字(它有时会改变 3,6, 7) 执行并行。使用numaactl -l --phycpubind = %d x.out在 2,3,4,5,6,7 级别上它正在工作,但问题是我收到错误sched_setaffinity: Invalid argument。
ps -aF 在 PSR 中为 x.out 打印写入绑定。
sched_setaffinity:参数无效。将来会出问题还是现在会出问题。
谢谢你。

4

1 回答 1

1

您正在寻找的是“过程亲和力”。

选择的亲和范式指导实现将进程映射到您选择的方案,您可以选择将进程映射到套接字/核心/硬件线程。

Mpic 有一个 '-bind-to' 开关可以实现这一点。例如:

mpiexec -bind-to core:144 -n ...

应该将您的进程绑定到 144 个独占核心。

尝试mpiexec -bind-to -help了解有关此的更多信息。

这是用户指南

于 2016-05-18T15:42:12.297 回答