0

最新的 ( v1.8.3) OpenMPI 文档指定 rankfiles 现在必须使用报告的逻辑cpu IDhwloc而不是物理ID,请参阅此处文档Rankfiles部分的最后一句话:mpirun

从 Open MPI v1.7 开始,所有插槽/核心插槽位置都被指定为逻辑索引(Open MPI v1.6 系列使用物理索引)。您可以使用诸如 HWLOC 的“lstopo”之类的工具来查找套接字和内核的逻辑索引。

我注意到这个网站上的一些问题(特别是这个问题和这个问题的答案)表明可以通过在 id 前面加上p. 例如:

rank 0=localhost slot=p0
rank 1=localhost slot=p8
rank 2=localhost slot=p1
rank 3=localhost slot=p9

请求物理 cpu id0为 rank 0,物理 cpu id8为 rank1等...

我尝试在 OpenMPI 文档中搜索此语法无济于事。我还尝试让某人实际尝试在 OpenMPI 中以这种方式构建排名文件1.6.4,他报告说这也不起作用。

此语法适用于哪个版本的 OpenMPI?它在任何地方都有记录吗?什么是正式的语法?

4

1 回答 1

1

感谢Hristo Iliev为我指明了相应代码的方向。似乎该功能hwloc_base_slot_list_parse出现在 version 的 open-mpi 代码中1.8

追溯代码,我找到了orte_rmaps_rankfile_parse似乎可以追溯到 version 的函数1.3。回顾这个函数的历史,我们发现1.5在解析槽列表部分的版本分支中出现了以下代码片段:

/* we no longer support physical mappings */
if ('P' == value[0] || 'p' == value[0]) {
    orte_show_help("help-rmaps_rank_file.txt", "not-supported", true, rankfile);
    rc = ORTE_ERR_SILENT;
    ORTE_ERROR_LOG(rc);
    goto unlock;
}

因此,由此我得出结论,我的问题的答案是p下面的 OpenMPI 版本支持该符号1.5

编辑:我还在邮件列表中发现了这条消息Open MPI Users这似乎支持我的发现。

于 2014-11-14T15:32:14.617 回答