linux mpich2 配置

来源:互联网 发布:php扩展有哪些 编辑:程序博客网 时间:2024/05/18 16:38

 Linux下MPI的环境配置还真是有些复杂,通过查资料和自己摸索,终于搞定了,现总结如下,以免以后忘记。(只作备忘之用,无通用性)

  (一)安装MPICH2

  安装包可去MPICH2的主页下载,我下载的是MPICH2-1.2.1.tar.gz,放在/home/hadoop下

  1、解压缩 tar -xzvf mpich2-1.2.1.tar.gz 得到mpich2-1.2.1文件夹

  2、进入mpich2-1.2.1:cd mpich2-1.2.1

  3、安装:

    (1) ./configure --prefix=/home/hadoop/mpich2

    如果提示缺少什么软件,就sudo apt-get install 所缺软件名

    (2) make

    (3) make install

  4、安装完毕后,配置环境变量

    export PATH=/home/hadoop/mpich2/bin:$PATH

    测试:

      which mpd

      which mpicc

      which mpirun

    正确安装的结果为 /home/hadoop/mpich2/bin/ +(mpd, mpicc, mpirun )

 

  (二)单机测试

  1、运行程序之前配置进程管理器MPD

     cd $HOME

     touch .mpd.conf

     chmod 600 .mpd.conf

     vi .mpd.conf 加入一行:secretword=[自定的密码]

  2、启动MPD

     MPD &

  3、编译程序  

     mpicc program_name.c -o program_name.out

  4、运行

     mpirun -n 4 ./program_name.out

  5、结束MPD

        mpdallexit

 

  (三)多机测试

  1、建立ssh信任

    sudo vi /etc/hosts

    加入参与运算的主机IP,可以为每个IP起别名,如

    196.168.1.123   node1

    返回主目录

    ssh-keygen -t rsa

    生成.ssh文件夹,其中,id_rsa为私钥,id_rsa.pub为公钥

    scp ~/.ssh/id_rsa.pub hadoop@59.67.33.163:.ssh/id_rsa.pub0 

    (复制到另一方需重命名,防止覆盖原来机器的公钥)

    然后ssh到slave一方,将公钥加到authorized_keys中:

    cat .ssh/id_ras.pub0 >> .ssh/authorized_keys

    之后便可 ssh hadoop@59.67.33.163 连接到服务器,无需密码

    设置/etc/hosts,~/mpd.hosts无需再说

    之后就可用mpdboot命令在集群上跑程序了。

      

   注:当配置有问题的时候,有几个方法查看,首先是mpdcheck。mpdcheck -pc可获得一些本机的信息。mpdcheck -l差错。mpdcheck -f mpd.hosts可以查看文件错误。其次,在mpdboot过程中可以加入 -d -v 可以debug和查看过程