0

我不确定如何使用从 hwloc 检索到的物理 ID。例如,我看到以下内容,但如果我将rank 0=10.0.2.4 slot=1:8其放入 rankfile 中,则会收到一个8不存在的错误。但是,rank 0=10.0.2.4 slot=1:p8运行没有问题,但我不知道我是否引用了PU#8Core P#8. 如何使用 rankfile 绑定到特定核心或特定硬件线程?有什么方法可以调试吗?

[hamiltont@4 latency]$ hwloc-ls -p
Machine (36GB)
  NUMANode P#0 (18GB) + Socket P#1 + L3 (12MB)
    L2 (256KB) + L1 (32KB) + Core P#0
      PU P#0
      PU P#12
    L2 (256KB) + L1 (32KB) + Core P#1
      PU P#2
      PU P#14
    L2 (256KB) + L1 (32KB) + Core P#2
      PU P#4
      PU P#16
    L2 (256KB) + L1 (32KB) + Core P#8
      PU P#6
      PU P#18
    L2 (256KB) + L1 (32KB) + Core P#9
      PU P#8
      PU P#20
    L2 (256KB) + L1 (32KB) + Core P#10
      PU P#10
      PU P#22
  NUMANode P#1 (18GB) + Socket P#0 + L3 (12MB)
    L2 (256KB) + L1 (32KB) + Core P#0
      PU P#1
      PU P#13
    L2 (256KB) + L1 (32KB) + Core P#1
      PU P#3
      PU P#15
    L2 (256KB) + L1 (32KB) + Core P#2
      PU P#5
      PU P#17
    L2 (256KB) + L1 (32KB) + Core P#8
      PU P#7
      PU P#19
    L2 (256KB) + L1 (32KB) + Core P#9
      PU P#9
      PU P#21
    L2 (256KB) + L1 (32KB) + Core P#10
      PU P#11
      PU P#23

我认为这个问题与我要问的问题非常接近,但并不完全相同。

4

1 回答 1

0

所以有一个编号为 23 的 PU,但没有具有此编号的内核,因此如果引用编号 23 时出现错误,则 MPI 正在尝试获取内核。

# No errors, so this is referencing a PU
rank 1=10.0.2.4 slot=1:p23
# No errors, so we are referencing a PU
rank 1=10.0.2.4 slot=p1:p23
# Error! We might be referencing a core
rank 1=10.0.2.4 slot=p1:23
# No error, we are probably referencing physical socket 1 and physical core 8
rank 1=10.0.2.4 slot=p1:8
于 2013-02-25T23:50:35.957 回答