您的位置:首页 > 大数据 > 人工智能

mpiexec_logon01: cannot connect to local mpd (/tmp/mpd2.console_ycai)

2014-01-02 13:12 274 查看
问题描述:

   想在高性能计算中心集群上运行一个简单的mpi程序,输入命令

    mpirun -n 4 ./Demo_00.exe 

后却出现如下提示:

  mpiexec_logon01: cannot connect to local mpd (/tmp/mpd2.console_ycai); possible causes:

  1. no mpd is running on this host

  2. an mpd is running but was started without a "console" (-n option)

In case 1, you can start an mpd on this host with:

    mpd &

and you will be able to run jobs just on this host.

For more details on starting mpds on a set of hosts, see

the MPICH2 Installation Guide.

解决办法:

$ cd $HOME
$ touch .mpd.conf
$ chmod 600 .mpd.conf
然后运行mpdboot。

然后运行就没问题了,不过运行的时候要注意这样用命令:

   mpirun -n 4 ./Demo_00.exe 

不要这样:   mpirun -n 4 Demo_00.exe ,这样出现如下提示:

problem with execution of Demo_00.exe  on  logon01:  [Errno 13] Permission denied 

problem with execution of Demo_00.exe  on  logon01:  [Errno 13] Permission denied 

problem with execution of Demo_00.exe  on  logon01:  [Errno 13] Permission denied 

P.S:本文在解决问题时参考帖子:点击打开链接

       另外可以阅读该文章:点击打开链接

总结:

      MPICH2提供进程管理与通信的分离。默认的运行时环境由一系列的守护进程(daemons)叫mpd的组成,在应用程序启动前建立所用机器之间的通讯,因而在通信不能建立出错时提供了清晰的画面,在并行任务(job)启动时提供一种快速可度量的启动机制(可以简单的把mpd看成mpi的进程管理器,欲要mpi进行作业首先先配置好mpd)。

     这个问题的出现有可能是没有启动mpd,mpd的启动命令是mpdboot,所以说一般用mpdboot启动mpd就好了,启动前可以先用mpdtrace命令查看是否有mpd进程。

     另外退出mpd的命令是mpdallexit

附 MPI常见命令:

1. mpdboot:  
启动集群mpd守护进程,在运行MPI程序前必须开启每个节点上的mpd守护进程。
常用的参数: -n  nodenum,需要启动的节点数量
        -f  hostsfile节点列表,与-n 一起使用表示启动节点列表中的nodenum个节点。
  若没有-n选项,则只启动本地mpd进程。

2. mpdtrace:
查看集群mpd守护进程。
常用参数:  -l  输出mpdid和IP

3. mpdexit:
杀死mpd守护进程。
常用参数:  mpdid

4. mpdallexit:
杀死所有的mpd守护进程。

5. mpicc:
MPI程序编译命令。
常用参数: -g  加入调试信息。

6. mpiexec:
MPI程序运行命令,运行前必须开启mpd守护进程。
常用形式: mpiexec 

   mpiexec : \ 

           

   mpiexec –configfile 

其中,  全局选项运用于所有MPI进程。 

    本地选项应用于部分MPI进程集合。

  可执行文件的路劲。

         包含命令行选项的文件。 

全局选项中常用参数:-gdb 调试运行

-machinefile MPI进程分配文件。

本地选项中常用参数:-n num 设置执行MPI程序的进程总数

注意:全局选项和本地选项顺序不要弄错。

7. mpirun:

  MPI程序快速执行命令,运行前不必运行mpdboot开启守护进程。

8. mpd测试命令:mpdcheck和mpdringtest

mpdcheck用来检查mpi安装和运行时的故障和异常。

mpdringtest测试一个mpd回环的传输时间。

9. mpd帮助命令:mpdhelp

   mpdhelp显示所有mpd命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: