【问题标题】:Mpdboot: Deprecation WarningMpdboot:弃用警告
【发布时间】:2011-09-29 05:45:57
【问题描述】:

我正在尝试使用 mpdboot 命令启动 4 个处理器来运行我的 MPI 程序。我创建了一个具有 4 个节点(75、77、79 和 80)的 mpd.hosts 文件。他们每个人都运行 python 2.3.4。我还修改了 bashrc 和 cshrc 文件,以确保变量包含编译器库目录的路径。我还设置了 mpd.conf 文件并检查它是否具有 rw (600) 权限。

我在运行 mpdboot 时已在输出屏幕下方复制

[n@heart]$ mpdboot -n 4 -r ssh

:38: 弃用警告:popen2 模块已弃用。使用子流程模块。

n@75的密码:xxx

n@77的密码:xxx

n@79的密码:xxx

n@80的密码:xxx

mpdboot_heart.int(err_exit 526): mpd 无法在 heart.int 上正确启动

原因:0:来自 mpd /opt/intel/mpi/2.0/bin/mpd.py:85 的端口无效:弃用警告:md5 模块已弃用;改用 hashlib

被杀


第 2 部分:

我还登录到其中一个节点并尝试运行 mpdboot。这是这样做的输出

[n@79 ~]$ mpdboot -n 4 -r ssh

n@75的密码:xxx

n@77的密码:xxx

n@79的密码:xxx

n@80的密码:xxx

mpdboot_79_0 (mpdboot 499): mpd(boot) 在 1 75 启动期间检测到问题;输出:

权限被拒绝,请重试。

n@75 的密码:权限被拒绝,请重试。

n@77 的密码:mpdboot_79_0 (mpdboot 515):在 2 77 启动 mpd(boot) 期间检测到问题;输出:

权限被拒绝,请重试。

权限被拒绝(公钥、gssapi-with-mic、密码)。

n@77 的密码:权限被拒绝,请重试。

权限被拒绝(公钥、gssapi-with-mic、密码)。


我应该如何处理这个问题?

【问题讨论】:

    标签: python mpi mpich mpiexec


    【解决方案1】:

    几点:

    1. 你真的don't want to use MPD了。该流程管理器已被弃用并替换为hydra process manager
    2. 您必须使用旧版本的 MPD(旧版本的 MPICH2),因为 AFAIK 所有这些弃用警告在 1.1 版本中都已修复。我怀疑您实际上是在运行 Python 2.3.4,因为我认为这些警告是在 2.6 版中添加到 Python 中的。
    3. 关于“第 2 部分”,您的 ssh 配置错误。您需要确保无密码 ssh(带有 ssh 密钥)在所有主机之间正常工作。即使您切换到 hydra 进程管理器,这也是必要的,尽管在这种情况下您可能会收到更好的错误消息。

    【讨论】:

    • 谢谢戴夫。当我这样做时,ssh python -V,它确实给了我 2.3.4。此外,就上述问题而言,我如何链接我的 iccvars.sh、bashrc 或 cshrc 文件是否有问题?如果对阐明一些有用的信息,我可以发布这些内容和路径。
    • 尝试更新到 MPICH2 (1.4) 的 current version 并使用 hydra。这将完全避免 python 和 MPD 问题(不再需要 mpdboot 步骤)。不过,您仍然需要解决您的无密码 ssh 问题。
    • 太棒了!谢谢!所以,一旦我有了这个......下一步是什么?我确实有一个 MPI 应用程序要运行。我已经在具有 4 个处理器的单个节点上对其进行了测试。我使用 mpirun 命令提交我的作业。这整个努力是我试图使用更多节点......因此,一旦安装了 MPICH (1.4),在我提交工作之前我需要注意什么?
    • 我确实在您的网站上找到了文档并计划完成它。安装 MPICH(1.4) 是否有任何系统要求?我们目前正在运行带有 python 2.4.3 的 Centos 5.5,并且已经安装了 OpenMPI 1.4.3。
    • 您的系统听起来很适合安装 MPICH2。如果您没有 fortran 编译器,则可能需要通过“--disable-f77 --disable-fc”进行配置。更好的是,如果 Centos 5.5 可用,请尝试安装二进制包。
    【解决方案2】:

    mpdboot 是否兼容这样的python 版本?那是彻头彻尾的古老,我什至不知道还有任何发行版仍然发布 2.3。你试过 2.7 吗?

    【讨论】:

    • 如何检查兼容性?我正在使用“适用于 Linux* OS 的英特尔 MPI 库入门指南”,它说我必须验证安装的 Python 版本是 2.2 或更高版本。我目前安装的是2.3.4
    • @Ashmohan:这似乎表明它受到支持。此时,您应该查看您的代码并检查那里的错误。弃用警告(大部分)是无害的——它们只是意味着您正在调用的函数可能会在未来的版本中被删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 2021-07-12
    • 2017-08-22
    • 2018-09-08
    • 2021-08-19
    相关资源
    最近更新 更多