在Linux下安装配置MPICH2.1.4[Linux安全]
本文“在Linux下安装配置MPICH2.1.4[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本篇介绍MPICH2在Linux系统上的基本安装配置历程,假定一共有两台机械,辨别命名为node1和node2.
1. 安装预备
(1)设置主机名
先在/etc/hosts中删除本来的hostname,然后 vi /etc/hostname改成你想要的,注意必须顶行写.然后利用hostname号令来重新得到hostname, logout一下再login就会改掉.
(2)改正hosts文件
Ifconfig 得到本机的ip
node1的ip(192.168.1.1) node1 server
#个人认为这里的server加不加都可以就只是一个名字
node2的ip(192.168.1.2) node2
(3)配置自动ssh登录
配置自动ssh登录,即受权让node1和node2可以无密码的ssh登录对方以及自己,在node1和node2上运行ssh-keygen号令来产生公匙和私匙,辨别把公匙内容增添到本机和对方机的~/.ssh/authorized_keys.
具体做法:
$ ssh-keygen -t rsa,之后一路回车,这一步将产生~/.ssh目录,以及两个文件d_rsa(私钥)和 id_rsa.pub(公钥)
$ cd ~/.ssh
$ cat id_rsa.pub 》 authorized_keys 把node1的公匙存到本地authorized_keys
$ scp node1:~/.ssh/id_rsa.pub node2:~/.ssh/1.pub 把node1的公匙复制到node2
$ ssh node2登录到node2
$ ssh-keygen -t rsa在node2上产生一对公匙和私匙
$ cd ~/.ssh
$ cat id_rsa.pub 》 authorized_keys 把node2的公匙保存到本地authorized_keys
$ scp node2:~/.ssh/id_rsa.pub node1:~/.ssh/2.pub 把node2的公匙复制到node1
$ cat 1.pub 》 authorized_keys 把node1的公匙加入到node2的authorized_keys
$ ssh node1 登录到node1
$ cd ~/.ssh
$ cat 2.pub 》 authorized_keys 把node2的公匙加入到node1的authorized_keys
这里要保证authorized_keys的文件权限为600大概644:chmod 600 authorized_keys
这样在两台电脑之间辨别ssh登录过一次今后就可以无密码登录了.
注:另一种简便办法
A) 在node1上履行 ssh-keygen -t rsa,将产生~/.ssh目录,以及两个文件d_rsa(私钥)和 id_rsa.pub(公钥)
B) 在node1上履行cat id_rsa.pub 》 authorized_keys,把node1的公匙存到本地authorized_keys
C) 履行scp -R node1:~/.ssh/ node2:~/ 把node1的.ssh目录复制到node2 的home目录下
D) 在node1履行ssh node2,然后在从node2履行ssh node1,输入几个“yes”就完成了.
2. 安装MPICH2
从官网http://www.mcs.anl.gov/research/projects/mpich2/index.php下载mpich2的最新版本mpich2-1.4.1p1.
(1)成立目录并解紧缩
首先成立一个目录,将mpich安装到这个文件夹下
mkdir mpich2
在得到mpich2-1.4.1之后
A) 将gzip紧缩的文件解压:mpich2-1.4.1p1.tar
gzip –d mpich2-1.4.1p1.tar.gz
B) 将tar归档的文件解开
tar xvf mpich2-1.4.1p1.tar
C) 进入mpich2-1.4.1p1的目录
cd mpich2-1.4.1p1
(2)配置、编译
A) 运行shell程序configure对mpich举行一些配置,利用smpd作为pm
./configure --prefix=/home/walter/mpich2 --with-pm=smpd --disable-f77 --disable-fc
B) 编译和安装
make
make install
注:在配置之前,要设置好系统时间,不然就会呈现以下错误:
pm的配置非常重要,安装时默许利用hydra 作为pm,而windows利用 smpd作为pm.因为对hydra不理解,假如配置时不指定pm,就会呈现单机可以精确履行,而多机直接无法通信的问题.如:
Fatal error in MPI_Send: Other MPI error, error stack:
MPI_Send(173)……: MPI_Send(buf=0x2aa59cd5b8, count=70920, MPI_INTEGER, dest=0, tag=2, comm=0x84000001) failed
MPIDI_CH3i_Progress_wait(214)……: an error occurred while handling an event returned by MPIDU_Sock_Wait()
MPIDI_CH3I_Progress_handle_sock_event(420):
MPIDU_Socki_handle_read(633)……: connection failure (set=0,sock=11,errno=104:Connection reset by peer)[cli_14]: aborting job:
Fatal error in MPI_Send: Other MPI error, error stack:
(3)设置环境变量
将安装后MPICH2的bin目录“mpich2”增添到系统途径中
Sudo vi /ect/environment 在PATH背面加上/home/yourname/mpich2/bin
然后echo $PATH,看看有没有增添成功.再下一步which smpd,看看有没有找到呼应的途径.
3. 启动与测试
(1)启动smpd
smpd –s
要求passphrase的值在全部节点上相等,因为在windows上也是用这个服务,所以可以实现,windows和linux的互联.
(2)实行历程及后果
我们操纵MPICH2的示例程序举行测试,示例为计算圆周率,可以输入精度.
A) 启动smpd:
smpd -s
B) 新建文件machinefile,内容为
node1
node2
C) cd mpich2-1.4.1p1
D) 履行
单节点履行
mpiexec –n 10 ./examples/cpi(n表示进程数)
多节点履行
mpiexec -n 10 -machinefile machinefile ./examples/icpi
以上是“在Linux下安装配置MPICH2.1.4[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |