您的位置:首页 > 其它

ubuntu12.04下用MPICH3.1搭建并行计算平台

2014-06-11 11:47 246 查看
全文参考:MPI2-UBUNTU9.04-安装集群.PDF

1  修改hosts文件,每个node计算机都要改 
$sudo gedit /etc/hosts:
127.0.0.1	     localhost 
192.168.1.1       node1            server 
192.168.1.2	     node2 

2. 安装NFS文件系统和共享目录
在主机和从机都需要执行以下命令
sudo  apt-get install nfs-kernel-server nfs-common 
根目录下:sudo  mkdir  /mirror 
sudo  chown  node:node  /mirror 

主节点:sudo gedit /etc/exports :
最后两行添加: /mirror    node1(rw,sync) 
 /mirror    node2(rw,sync)
然后
$sudo /etc/init.d/nfs-kernel-server restart

从节点:$sudo mount node1:/mirror /mirror   #这里是命令行挂载共享目录
或 : 
经过第二步,/mirror文件的文件在节点间能够共享权限,可相互编辑相互更改和删除。sudo gedit /etc/fstab  在末尾添加
node0:/mirror /mirror nfs rw, async, auto, exec, nouser, suid 0  0   ##这里是在配置文件下挂载共享目录

3. ssh无密码互通,每个node计算机都要执行
$ssh-keygen-t rsa #生成公钥和密钥
一路回车生成.ssh/id_rsa等文件
在node1节点上
cd .ssh cat id_rsa.pub >>authorized_keys
将authorized_keys发送到node2节点的.ssh文件夹(可通过文件共享实现)或如下:
scp authorized_keys node2:/home/cluster/.ssh #cluster指cluster@node1:/mirror/mpich-3.1/examples$
ssh-add~/.ssh/id_rsa #这一步很重要,以前实现ssh互访是不需要这一步的
在node2上
将id_rsa.pub内容复制到copy过来的authorized_keysscp authorized_keys node1:/home/cluster/.sshssh-add~/.ssh/id_rsa #这一步很重要
完毕。

实现ssh无密码访问需要关闭防火墙:sudo ufw disable
4. mpich3的安装与配置
到网站http://www.openssl.org/source/下载安装包***.tar.gz
cd /mirror
mkidr mpich3
tar zxvf mpich-3.1.tar.gz
./configure --prefix=/mirror/mpich3 --disable-f77 --disable-fc 2>&1 | tee c.txt   
--disable-f77 --disable-fc是为了禁止fortran,否则安装会出问题,会导致MPICH2安装不完全而出错,所以这里建议不用的选上。  
make 2>&1 | tee m.txt   
make install 2>&1 | tee mi.txtsudo gedit .bashrc        #配置环境在最后面添加:export PATH=/mirror/mpich3/bin:$PATH
souce  .bashrc  
配置多台集群需要创建machinefile文档 (可在任意目录下),文档内容为各台计算机的节点名,一行一个节点名。如:
node1
node2
node3
5. 运行测试程序
~# mpiexec -n 6 -machinefile ~/machinefile ~/mpich-3.1/examples/cpi #~/machinefile指上面创建的machinefile的文件路径
有如下类似输出则说明平台搭建成功了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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: