Centos7虚拟机配置MPI3.2

Centos7虚拟机配置MPI3.2

主机1:   主机名:node1   IP:192.168.19.165   系统:centos7    用户名:centos   密码root

主机2:   主机名:node2   IP:192.168.19.169   系统:centos7    用户名:centos   密码root

 

*为了省事,以下操作都是以root用户进行的

 

1.    安装mpich-3.2,hydra-3.2  (下载地址  http://www.mpich.org/downloads/)

./configure;  make; make install

 

2.    在root下添加环境变量(方法很多,不唯一)

[root@node1 ~]#vim.bashrc

添加  export LD_LIBRARY_PATH=$PATH:/usr/local/lib/

3.    改IP地址  设置->网络->ens33设置->IPv4

地址(A)改为手动

地址192.168.16.165

网络掩码255.255.255.0

网关 192.168.0.1

 

4.    添加hosts文件

[root@node1 ~]#vim hosts

添加node1

node2

    保存退出

 

5.    关闭防火墙

[root@node1 ~]#systemctl stopfirewalld.service     //暂时关闭防火墙

[root@node1 ~]#systemctl disabledfirewalld.service     //永久关闭防火墙

 

6.    联网安装openssh-askpass

[root@node1 ~]#yum installopenssh-askpass

 

7.    Root下设置ssh (   可参考http://1inux.blog.51cto.com/10037358/1638880  )

Node1上设置

[root@node1 ~]#ssh-keygen -trsa     //一路回车即可

[root@node1~]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.19.169  //此步要输入node2密码

验证[root@node1 ~]# ssh root@192.168.19.169

运行结果

Last login: Thu Apr 13 21:18:06 2017 from node1

[root@node2 ~]#

 

Node2上设置

[root@node2 ~]#ssh-keygen -trsa     //一路回车即可

[root@node2~]#ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.19.165 //此步要输入node1密码

验证[root@node2 ~]#ssh root@192.168.19.165

运行结果

Last login: Thu Apr 13 21:18:06 2017 from node1

[root@node1 ~]#

 

8.    运行测试程序(mpi自带的测试程序)

[root@node1 ~]#mpiexec -f hosts -n 5 /home/centos/mpich-3.2/examples/cpi

通过运行该命令测试是否正确安装mpich3。上述命令的结果是:

Process 2 of 6 is on node1

Process 5 of 6 is on node1

Process 0 of 6 is on node2

Process 3 of 6 is on node2

Process 1 of 6 is on node3

Process 4 of 6 is on node3

pi is approximately 3.1415926544231243,Error is 0.0000000008333312

wall clock time = 0.001908

 

9.    Eclipse配置MPI

项目->属性(properties)->C/C++ Build->Settings->GCC C++ Linker->Libraries

Libraries(-l) 添加 mpich mpichcxx

Libraries search pash(-L) 添加 /usr/local/lib

编译运行生成Debug文件(目录/home/centos/workspace/MPI_test/Debug/MPI_test)

 

10. 运行程序

[root@node1 ~]# mpiexec -f hosts -n 3/home/centos/workspace/MPI_test/Debug/MPI_test

 

11. 注意事项:

* [root@node1 ~]#与[root@node1 centos]#, 输入#cd可进入[root@node1 ~]#

* node1和node2上都必须有相应的程序代码,而且可执行程序在不同服务器上的位置要一样

* mpi不会同步代码:node1里改代码不会影响到node2里的代码,而且代码不一样时能正常运行,

  若需要同步代码,需要在node1,node2里都改代码

 

附:sftp文件传输命令(可将node1里改好的代码<文件夹MPI_test1>直接发送到node2)

1.    建立连接

[root@node1 ~]# sftp centos@192.168.19.169

centos@192.168.19.169's password:

Connected to 192.168.19.169.

 

2.    在node2上相应目录下建立文件夹

sftp> mkdir/home/centos/workspace/MPI_test1

 

3.    发送文件夹

sftp> put -r /home/centos/workspace/MPI_test1/home/centos/workspace

*注意MPI_test1与/home之间有空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值