• MPI运行程序(接触)


    网友遇到的问题并解决问题:mpich2在多个节点上运行并行程序时出错

    我使用mpich2时遇到一下问题:
    当我运行一个计算圆周率的并行程序cpi.c时,我想在指定的若干个节点上运行这个程序,比如host1,host2,host3等,于是我将这3个节点名称写在一个文件hostfile里,
    以下是运行过程:
    mpd &
    mpicc cpi.c   //此时生成一个名为a.out的可执行文件
    mpiexec -machinefile hostfile -n 3 ./a.out
    就在此时出现了问题:
    mpiexec: unable to start all procs; may have invalid machine names
        remaining specified hosts:
            IP地址 (host2)
     IP地址 (host3)

    原因是这几个节点上的mpd连接不上从而无法通信,这个可能是ssh或是rsh的问题造成的。

    但是这个问题可以通过手动执行以下命令来解决:(假设是在host1上编译这个并行程序,就在host1上执行以下命令)

    mpd &
    mpdtrace -l //此处列出主机名和端口号,形式为:<hostname>_<port>

    然后登陆到文件中的其他每个节点执行以下命令:(此处为host2和host3)

    mpd -h <hostname> -p <port> &   //这里hostname和port是host1的hostname和port。

    然后在host1上执行mpdtrace就可以查看到执行mpd的主机名了,从而节点间也就可以正常痛心了。

    再执行mpiexec -machinefile hostfile -n 3 ./a.out时,就可以看到所预期的结果了 o(∩_∩)o...


    不过我感觉这个方法,不是最终的解决方法。还有待进一步研究。

    转自:http://blog.sina.com.cn/s/blog_4fd6fd310100aimr.html

  • 相关阅读:
    Service Workers里的CacheStorage和Cache
    application cache和localstorage的区别
    localStorage和sessionStorage区别
    Ubuntu软件的安装和使用
    C++之数据类型
    C++之C++的词法单位
    C++之语言概述
    Ubuntu双系统无法挂载Windows10 硬盘的解决方法
    opencv 显示摄像头数据
    Ubuntu 中使用git 上传代码
  • 原文地址:https://www.cnblogs.com/gladsomeboy/p/4046877.html
Copyright © 2020-2023  润新知