【问题标题】:Using hwloc physical ID to build MPI rankfile使用 hwloc 物理 ID 构建 MPI rankfile
【发布时间】:2013-02-11 00:37:53
【问题描述】:

我不确定如何使用从 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

我认为this question 与我的要求非常接近,但并不完全相同。

【问题讨论】:

  • 通过使用rank 0=10.0.2.4 slot=1:p23 运行且没有错误,我已经验证它引用的是硬件线程 ID 而不是核心,所以我不知道如何使用物理 ID 绑定到核心
  • 一件奇怪的事情:rank 0=10.0.2.4 slot=1:4rank 0=10.0.2.4 slot=1:5 都可以工作,即使没有具有该物理 ID 的内核

标签: mpi


【解决方案1】:

所以有一个编号为 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-06-01
    • 1970-01-01
    • 2011-12-20
    • 2014-11-26
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    相关资源
    最近更新 更多