微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MPI 你能找到所有单个节点的 IP 地址吗?

如何解决MPI 你能找到所有单个节点的 IP 地址吗?

我想知道这是否可能?使用 MPI4PY 获取所有个人等级的 IP 地址。我意识到我可以使用套接字并发送信号。我只是好奇是否有一个内置函数可以为我做到这一点。主要是因为套接获取 IP 地址时出现问题,有时会发生这种情况。

解决方法

MPI 的全部意义在于在通信者和进程等级的抽象下隐藏底层通信子系统的细节,例如 IP 地址。 MPI 规范中没有规定以可移植的方式公开此类信息。

您能得到的最接近的是 MPI_GET_PROCESSOR_NAME,它返回调用者正在运行的硬件的字符串标识符。大多数针对单个节点集群的 MPI 实现都返回节点主机名,理论上可以将其解析为 IP,但这不能保证,因为许多系统具有多个主机名,例如内部主机名(在 Linux 上,设置为 { {1}}) 和可解析为 IP 的完全限定域名 (FQDN)。

标准没有具体说明这个字符串的内容,每个实现都可以自由选择返回什么。例如,在 Blue Gene/Q 上,sethostname(2) 返回通信网格中的任务编号、作业大小以及等级的逻辑和物理坐标:

MPI_GET_PROCESSOR_NAME

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。