2011-07-06 183 views
0

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

我抄输出屏幕下方,当我运行mpdboot

[N @心脏] $ mpdboot -n 4 -r SSH

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

Ñ@ 75的密码:XXX

Ñ@ 77的密码:XXX

Ñ@ 79的密码:XXX

Ñ@ 80的密码:XXX

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

原因:0:来自mpd /opt/intel/mpi/2.0/bin/mpd.py:85的无效端口:DeprecationWarning:md5模块为depreca泰德;使用hashlib代替


第2部分:

我也登录到一个节点,并试图运行mpdboot。这里是通过执行输出

[N @ 79〜] $ mpdboot -n 4 -r SSH

Ñ@ 75的密码:XXX

Ñ@ 77的密码:XXX

Ñ @ 79的密码:XXX

ñ@ 80的密码:XXX

mpdboot_79_0(mpdboot 499):已在1 75 MPD(引导)启动过程中检测到的问题;输出:

权限被拒绝,请重试。

N - [75密码:权限被拒绝,请重试。

Ñ@ 77的密码:mpdboot_79_0(mpdboot 515):已经在2 77 MPD(引导)启动过程中检测到的问题;输出:

权限被拒绝,请重试。

权限被拒绝(公钥,GSSAPI与 - 麦克风,密码)。

N - [77密码:权限被拒绝,请重试。

权限被拒绝(公钥,GSSAPI与 - 麦克风,密码)。


我该怎么处理这件事?

回答

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进程管理器,这也是必要的,但在这种情况下您可能会收到更好的错误消息。
+0

谢谢戴夫。当我这样做时,ssh python -V,它确实给了我2.3.4。另外,就上述问题而言,如何将我的iccvars.sh,bashrc或cshrc文件链接起来可能会造成问题?我可以发布这些内容和路径,如果这可能有助于阐明一些光明。 – Ashmohan

+1

尝试更新MPICH2(1.4)的[当前版本](http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads)并使用hydra。这将完全避免python和MPD问题(不再需要mpdboot步骤)。尽管如此,您仍然需要解决无密码的ssh问题。 –

+0

太棒了!谢谢!所以,一旦我有这个......下一步是什么?我有一个MPI应用程序可以运行。我已经用4个处理器在单个节点上测试过它。我使用mpirun命令来提交我的工作。这整个努力是我试图使用更多的节点......因此,一旦安装了MPICH(1.4),在我提交工作之前需要注意的事项是什么? – Ashmohan

0

是mpdboot兼容这样的版本的python?这是古老的,我甚至不知道还有什么发行版仍然发货2.3。你用2.7试过了吗?

+0

如何检查兼容性?我正在使用“Intel MPI Library for Linux * OS入门指南”,它说我必须验证已安装的Python版本是2.2或更高版本。我目前安装的是2.3.4 – Ashmohan

+1

@Ashmohan:这似乎表明它被支持。在这一点上,你应该看看你的代码并检查那里的错误。弃用警告(大多数情况下)是无害的 - 它们只是表示您要调用的函数可能会在未来的版本中被删除。 – Daenyth