当前位置:   article > 正文

Ubuntu 12.04 多机并行 vasp 集群_vasp多节点并行如何设置

vasp多节点并行如何设置

本文讲述基本过程,具体操作还可能出现各种问题,请自行研究。

单机多核并行版本请参考另一篇博客: 

linux ubuntu12.04 下的 vasp 5.2 的安装方法

http://blog.csdn.net/txcokokok/article/details/42219099。


系统和软件:Ubuntu 12.04, inter fortran compiler 2013,Openmpi 1.8.2,ssh,nfs,openssh-server。


一、物理连接

用网线连接两台电脑,可使用交换机连接多台。

二、环境安装

在联网状态下,分别在两台电脑上运行以下命令:


sudo apt-get install ssh openssh-server

sudo apt-get install nfs-kernel-server

sudo passwd root #设置root账户密码


三、修改IP,DNS,ping通两台电脑

(1)联网状态下,在A电脑上使用ifconfig命令查看本机IP,此处为192.168.1.106。

(2)修改B电脑的IP,DNS,修改后B电脑无法上网。

修改IP: /etc/network/interface,加入:


auto eth0
iface eth0 inet static
address 192.168.1.100         #本机的IP,前三位与A电脑相同即可
gateway 192.168.2.254        #默认即可
netmask 255.255.255.0


修改DNS: /etc/dhcp/dhclient.conf,在最后加入A电脑的IP:


prepend domain-name-servers 192.168.1.106


(3)修改两台电脑的:/etc/hosts,加入两台电脑的IP


192.168.1.106 txc_X9DAi#A电脑用户名
192.168.1.100 txc_X9 #B电脑用户名


如果两台电脑用户名相同,请自行更改其中一台。

全部修改完成后,重启。

(4)用网线连接后,在A电脑上运行以下代码,修改IP:


sudo ifconfig eth0 192.168.1.106
sudo /etc/init.d/networking restart 


可在B电脑上使用ping 192.168.1.106 来检查与A电脑的连接,或相反。

四、建立ssh连接

(1)在两台电脑上运行:


ssh-keygen -t rsa #生成密钥


(2)在A电脑上运行以下命令,自行修改用户名:


scp ~/.ssh/id_rsa.pub txc-X9:~/.ssh/1.pub #使用scp命令复制A电脑的公钥id_rsa.pub到B电脑上,写入1.pub文件中。


(3)在B电脑上:


cp ~/.ssh/id_rsa.pub authorized_keys #复制B电脑公钥id_rsa.pubauthorized_keys 
cat ~/.ssh/1.pub >> authorized_keys  #合并A、B电脑公钥到authorized_keys中
scp ~/.ssh/authorized_keys txc-X9DAi:~/.ssh/ #复制authorized_keys到A电脑


以上过程也可自行复制,文件都在用户文件夹下的 .ssh 文件夹内。

(4)在两机上运行:


chmod 644 ~/.ssh/authorized_keys         #提高权限

ssh-add


实现两机互访不需输入密码。

在B电脑上使用 ssh txc-X9DAi 来ssh A电脑,或相反,检查是否成功。

五、安装nfs

(1)第二步运行过:sudo apt-get install nfs-kernel-server 之后

在A电脑上修改 /etc/exports,设置要共享的文件夹,此处为VASP:


/home/txc/VASP *(rw,sync,no_root_squash)
(* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限)

sudo /etc/init.d/portmap restart                      #重启portmap,
sudo /etc/init.d/nfs-kernel-server restart            #重启nfs服务


(2)在B电脑上运行mount命令,建立A、B电脑上两个VASP文件夹的共享连接,自行修改用户名。


sudo mount txc-X9DAi:/home/txc/VASP /home/txc/VASP


永久修改的方法:
http://wenku.baidu.com/view/163e99d63186bceb19e8bbfe.html


#################################################################################

至此集群环境搭建完毕,下面是集群的VASP的安装过程。

基本内容与单机相同,其他步骤参考下文:

linux ubuntu12.04 下的 vasp 5.2 的安装方法

http://blog.csdn.net/txcokokok/article/details/42219099。


不同之处:

一、改用以下命令编译openmpi:


./configure --prefix=/home/txc/install/openmpi --enable-heterogeneous --enable-sparse-groups --enable-static --enable-orterun-prefix-by-default F77=ifort FC=ifort


二、改用以下命令安装VASP:

修改5.2的makefile,改为静态编译,即使用 .a 为后缀的文件。

(也许按另一篇的动态编译也可以,没有试过。两机硬件相同的话,只在一台上安装,另一台拷贝VASP运行文件过去应该也可以。)


64位:

MKL_PATH=/opt/intel/composer_xe_2013.2.146/mkl/lib/intel64 #就是包含以下库文件的路径

BLAS= -Wl,--start-group $(MKL_PATH)/libmkl_intel_lp64.a$(MKL_PATH)/libmkl_sequential.a $(MKL_PATH)/libmkl_core.a  -Wl,--end-group -lm -lpthread #-Wl,--start-group -Wl,--end-group 用于反复查找库文件中的链接,避免出现找不到文件的情况

LAPACK=$(MKL_PATH)/libmkl_intel_lp64.a 


三、改用以下命令运行VASP


mpirun --allow-run-as-root-hostfile hostfile -np 2  vasp


hostfile内容如下,自行修改用户名,使用slots指定每台电脑上的进程数,每台机是16核,使用16个进程:


txc-X9DAi slots=16
txc-X9 slots=16


可直接修改openmpi安装目录下的hostfile文件,并设置为共享,方便修改。如果运行后提示找不到hostfile文件,则应在运行命令处指定hostfile文件的路径。


################################################################################

每次开机后,需运行以下命令设置IP和共享连接


1.在A电脑上运行


sudo ifconfig eth0 192.168.1.106
sudo /etc/init.d/networking restart 
ssh-add

2.在B电脑上运行


ssh-add
sudo mount txc-X9DAi:/home/txc/VASP /home/txc/VASP
sudo mount txc-X9DAi:/home/txc/install/openmpi/etc /home/txc/install/openmpi/etc#hostfile文件路径

然后就可以运行vasp了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/387989
推荐阅读
相关标签
  

闽ICP备14008679号