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的话,安装过程中如果提示缺少什么,首先安装这个东西之后再按照这个步骤即可。

  • 相关阅读:
    on、where、having的区别(转载)
    Javascript 中的非空判断 undefined,null, NaN的区别
    SRM 223 Div II Level Two: BlackAndRed,O(N)复杂度
    ibatis通过Map封装参数调用存储过程
    NoSQL架构实践
    js实现密码强度验证
    ubuntu 10.04安装qtcreator并汉化
    2017第19周一
    越挫越战,越战越勇
    2017第18周六
  • 原文地址:https://www.cnblogs.com/liyanwei/p/1721142.html
Copyright © 2011-2022 走看看