zoukankan      html  css  js  c++  java
  • Linux下安装MPICH

    Linux mpich2 安装

     

    1:从MPICH2官网下载源代码,http://www.mcs.anl.gov/research/projects/mpich2 /downloads/tarballs/1.0.8/mpich2-1.0.8.tar.gz  目前最新的是1.0.8,当然如果你使用的windows平台也可以下载http://www.mcs.anl.gov/research /projects/mpich2/downloads/tarballs/1.0.8/mpich2-1.0.8-win-ia32.msi,以及 http://www.mcs.anl.gov/research/projects/mpich2/documentation/files/mpich2-1.0.8-windevguide.pdf 这是windows平台下的开发文档。

    你也可以登录http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads,查看你需要的mpich版本,根据自己需要下载即可。

    2、然后,将mpich2-1.0.8.tar.gz解压到/home/mpi/mpich2/src中,

    执行下列命令:cd /home/mpi/mpich2/src

    ./configure -prefix=/home/mpi/mpich2(配置安装位置为 /home/mpi/mpich2)

    如果没有问题,再运行下面

    make

    make install

    稍等就大功造成了。

    3、修改机器的~/.bash_profile(Ubuntu修改~/.bashrc)文件,在最后加上下面的语句

    export MPI_ROOT=/home/mpi/mpich2

    export PATH=$MPI_ROOT/bin:$PATH

    export MANPATH=$MPI_ROOT/man:$MANPATH


    4、编辑下面的文件,并存储为hello.c

    #include "mpi.h"
    #include <stdio.h>
    #include <math.h>

    int main (int argc, char **argv)
    {
    int myid, numprocs;
    int namelen;
    char processor_name[MPI_MAX_PROCESSOR_NAME];

    MPI_Init
    (&argc, &argv);
    MPI_Comm_rank
    (MPI_COMM_WORLD, &myid);
    MPI_Comm_size
    (MPI_COMM_WORLD, &numprocs);
    MPI_Get_processor_name
    (processor_name, &namelen);
    fprintf (stderr, "Hello World! Process %d of %d on %s\n", myid, numprocs, processor_name);
    MPI_Finalize
    ();
    return 0;
    }

     

     

     

    5、接着编译一下

     

    mpicc -o hello hello.c
    C程序用 mpicc编译,C++程序用mpicxx编译)

    6MPI应用一个管理器来管理运行MPI程序,这个管理器就是mpd,但是在正式开始运行mpd前还需要一个基于安全考虑的配置文件.mpd.conf,这个文件是要放在运行程序的用户的home目录下,本例子中就是/home/mpi/.mpd.conf,而且这个文件只能由这个用户读写,创建文件的命令是,

    cd $HOME

    touch .mpd.conf

    chmod 600 .mpd.conf

    然后在.mpd.conf文件中(如果没有这个文件需要创建一个)写入这么一行,secretword=******可以是任意的值,如果配置集群的话,这个值在参与计算的计算机上必需完全一致。如果是root用户的话,这个文件应该是/etc/mpd.conf

     

    7、启动并行环境 mpdboot
    第一次使用这个命令时,可能会出现错误,执行以下代码
    cd

    touch .mpd.conf                  //
    这是修改mpd配置文件的时间戳
    chmod 600 .mpd.conf          //
    这是修改配置文件的权限

    运行程序: mpirun -np 4 ./hello
    -np
    是指用几个进程模拟运行,这里用4
    输出结果为:  (下面结果每台机器可能都不一样,是正常的)
    Hello World! Process 1 of 4 on jack-laptop
    Hello World! Process 3 of 4 on jack-laptop
    Hello World! Process 2 of 4 on jack-laptop
    Hello World! Process 0 of 4 on jack-laptop
    想停止并行运行环境
    mpdcleanup

     

    8、如在第七步出现类似下面的报错

    mpdroot: perror msg: Connection refused

    mpdroot: cannot connect to local mpd at: /tmp/mpd2.console_root

    probable cause: no mpd daemon on this machine

    possible cause: unix socket /tmp/mpd2.console_root has been removed

     

    请打开另外一个终端,并执行mpd命令,同时不要关闭这个终端,在执行第7步即可。

     

    9、 如果你的os是Ubuntu的话,安装过程中如果提示缺少什么,首先安装这个东西之后再按照这个步骤即可。

  • 相关阅读:
    9.11 eventbus
    9.10,,,实现new instanceof apply call 高阶函数,偏函数,柯里化
    9.9 promise实现 写完了传到gitee上面了,这里这个不完整
    9.5cors配置代码
    9.5 jsonp 实现
    9.5 http tcp https总结
    9.3 es6 class一部分 and es5 class 发布订阅
    8.30 cookie session token jwt
    8.30vue响应式原理
    warning: LF will be replaced by CRLF in renard-wx/project.config.json. The file will have its original line endings in your working directory
  • 原文地址:https://www.cnblogs.com/liyanwei/p/1721142.html
Copyright © 2011-2022 走看看