资讯专栏INFORMATION COLUMN

docker下使用centos6.6 安装vasp5.4步骤

waterc / 2593人阅读

摘要:安装成功后,将得到如下提示分别给出了设置环境变量的方法和官方的参考文档的位置。安装当应用安装到当前登录用户的文件夹中。安装配置环境变量注意非环境如下安装解压文件在同一文件夹下,分别解压和。

由于Intel编译器支持的服务器系统列表为:

Supported operating systems for this
release include:
    - Red Hat Enterprise Linux* 4.0, 5.0, 6.0 (IA-32/Intel(R) 64)
    - Fedora* 15 (IA-32/Intel(R) 64)
    - SuSE Linux* Enterprise Server* 10.x, 11.0 SP1(IA-32/Intel(R)64)
    - Asianux* Server 3.0, 4.0 (IA-32/Intel(R) 64)
    - Ubuntu* 10.04 LTS, 11.04 (IA-32/Intel(R) 64)
    - Debian 6.0 (IA-32/Intel(R) 64)

只有centos(Red Hat Enterprise Linux)6.6是存在官方的docker镜像,所以,我们在这里使用centos6.6进行安装

[注意]

服务器内存不能少于2G,否则将会编译错误

在安装过程中,系统不能重启。否则部分环境变量将失效。

使用docker安装centos6.6

启动
#sudo docker build centos:6.6 ./
#sudo docker run -d --name {contanername} -v localpath:remotepath -t centos:6.6 "/bin/bash"
#sudo docker ps
#sudo docker exec -i -t containername "/bin/bash"

[注意]

{contanername} 换成你想起的容器名,比如vasp

localpath 本地路径

remotepath docker虚拟机的路径

比如我使用以下命令安装:
#sudo docker run -d --name vasp2 -v /home/panjie/:/home/panjie -t centos:6.6 "/bin/bash"

安装扩展包

vasp需要一些扩展包列表为gcc,which,glibc(32w位),libstdc++(32位):
yum install -y rsync gcc-c++ which glibc-static.i686 libstdc++.i686
上面的扩展必须安装,不然则会出现如下错误:

32-bit libraries not found on this system.

安装JRE1.6

官方对jre是这么说明的:

Finally, there is an optional package to consider: The 11.x version of the Intel Compiler for Linux has a graphical debugger, a new graphical interface for the IDB debugger. If you want to use this debugger, please make sure to install the JAVA JRE version 1.5 or higher.

也就是说,你要不安装的话,可能会有BUG
#yum install java-1.6.0-openjdk

安装编译器

编译器即把C语言的文件变成可执行文件的。编译器有很多,支持的功能也不一样。在编译、链接VASP时,推荐使用INTEL的编译器。这是由于VASP软件使用了很多Intel Math Kernel Library(Intel数学计算核心库)。而这个IMKL,当然需要配套使用Intel的编译器了。

我们上传的编译器,一般会是个tgz格式的压缩包。我们找到这个压缩包的位置,然后在那个位置上解压:
#tar xzvf l_ccompxe_2011.6.233.tgz

解压后进入解压后的文件夹,进行安装。
#./install.sh
接着会出一个安装向导,我们按提示进行安装即可。安装过程中,会提示我们选择证书,输入证书的绝对路径位置即可。

安装成功后,将得到如下提示:

- Set the environment variables for a terminal window using one of the following
  (replace "intel64" with "ia32" if you are using a 32-bit platform).
     For csh/tcsh:
        $ source install-dir/bin/compilervars.csh intel64
     For bash:
        $ source install-dir/bin/compilervars.sh intel64
     To invoke the installed compilers:
        For C++: icpc
        For C: icc
        For Fortran: ifort
  To get help, append the -help option or precede with the man command.
- To view a table of getting started documents: 
  install-dir/Documentation/en_US/documentation_c.htm.

分别给出了设置环境变量的方法和官方的参考文档的位置。
由于我们采用了默认路径安装,所以安装文档的位置为:
/opt/intel/composerxe/Documentation/en_US/documentation_c.htm

如果你注意观察的话,会发现在安装过程中提示的安装路径为:composer_xe_2011_sp1。但我们composerxe做为安装路径也可以,这是由于composerxe链接到了composer_xe_2011_sp1
设置环境变量

还是由于我们没有更改安装路径,所以环境变量位置应该为:
/opt/intel/composerxe/bin/compilervars.sh intel64

#vi ~/.bashrc

# .bashrc
source /opt/intel/composerxe/bin/compilervars.sh intel64 # 添加这行                   

使环境变量马上生效(如果有错误,执行以下命令时会报错)
#source ~/.bashrc

安装l_fcompxe

安装fcompxe的上面安装ccompxe一样。先解压,再安装。

安装openmpi
tar xzvf openmpi-1.6.5.tar.gz
cd openmpi-1.6.5
./configure --prefix="/home/$USER/.openmpi" CC=icc CXX=icpc F77=ifort FC=ifort

--prefix="/home/$USER/.openmpi" 当应用安装到当前登录用户的.openmpi文件夹中。CC=icc CXX=icpc F77=ifort FC=ifort为使用哪种编译器编译openmpi

make -j1
make install

make -j1使用1核进行编译;make install 安装

添加环境变量
export PATH="$PATH:/home/$USER/.openmpi/bin" >> /root/.bashrc
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/"
>> /root/.bashrc
which mpif90
/home/.openmpi/bin/mpif90

最后一条命令将返回mpif90的1条路径,即我们上面刚刚设置过的。如果返回了几行信息(所有的环境变量路径,则说明没有生效)。

注意:以上只适用于docker环境,非docker环境请参考如下配置。

export PATH="$PATH:/home/$USER/.openmpi/bin" >> /home/$USER/.bashrc export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/"
>> /home/$USER/.bashrc
which mpif90
安装fftw
tar xzvf fftw-3.3.4.tar.gz 
cd  fftw-3.3.4
./configure --prefix=/home/.fftw --enable-mpi
make -j1
make install
配置环境变量
export PATH=/home/.fftw/bin:$PATH >> /root/.bashrc
export LD_LIBRARY_PATH=/home/.fftw/lib:$LD_LIBRARY_PATH >> /root/.bashrc
which fftw-wisdom
/home/.fftw/bin/fftw-wisdom

注意:非docker环境如下:

export PATH=/home/$USER/.fftw/bin:$PATH >> /home/$USER/.bashrc
export LD_LIBRARY_PATH=/home/USER/.fftw/lib:$LD_LIBRARY_PATH >> /home/$USER/.bashrc
which fftw-wisdom
/home/.fftw/bin/fftw-wisdom
安装vasp 解压文件

在同一文件夹下,分别解压vasp.5.4.1和vasp.5.lib。

复制并更改配置文件
cp makefile.include vasp.5.4.1
cd vasp.5.4.1
vi makefile.include

28行设置MKL路径MKLROOT =/opt/intel/mkl

33行只使用openmpi BLACS =-L$(MKL_PATH) -lmkl_blacs_openmpi_lp64

38行设置fftw OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /home/.fftw/lib/libfftw3_mpi.a

39行设置fftw INCS =-I/home/.fftw/include

上面主要是进行了一些配置,我们需要要给这个配置相应的值。比如mkl在哪了, libffw3_mpi.a的具体位置是什么,.fftw/include的位置在哪。所以,在设置的同时,我们最好查看一下本机对应的路径是否存在。如果不存在,说明位置你记错了,或是前面哪些步骤你忘了安装了。

make

万事具备,在确认服务器有不小于2G的内存后,执行:
make all
然后就是漫长的等待。

添加环境变量
echo export PATH=/home/panjie/vasp.5.4.1/bin:$PATH >> /root/.bashrc
source ~/.bashrc

我们注意到此时,我们设置环境变量使用的是echo xxx >> xx,然后使用source ~/.bashrc生使环境变量生效,这样做的好处是,当系统重启后,该环境变量仍然生效。

安装TorquePBS

该死的vasp_std等命令好像不能直接执行,还需要一个TorquePBS的队列管理。

安装依赖
yum install -y libxml2-devel openssl-devel boost-devel libtool openssh-clients

查看主机名、新建用户、设置新用户密码:

hostname
useradd panjie
passwd panjie

提示框出现后,输入两次密码
得到主机名:28bf0f7e77e6

解压安装
tar vxzf torque-6.1.1.1.tar.gz  
cd torque-6.1.1.1
./configure --prefix=/usr/local/torque --with-scp --with-default-server={hostname}
make
make install

将hostname替换成你自己的主机名

配置信息并启动服务
cp contrib/init.d/trqauthd /etc/init.d/
chkconfig --add trqauthd
echo /usr/local/lib > /etc/ld.so.conf.d/torque.conf
ldconfig
service trqauthd start
校验主机名

这步其实前面我们已经做了,重复一遍无所谓了,万一我们以后更改主机名呢
echo > /var/spool/torque/server_name
替换为你的主机名

设置环境变量
echo export PATH=/usr/local/bin/:/usr/local/sbin/:$PATH >> ~/.bashrc
source ~/.bashrc
初始化服务

./torque.setup root

添加节点

如果你是多节点运算,那么需要将节点信息添加到:/var/spool/torque/server_priv/nodes

添加开机自启动并运行demon
cp contrib/init.d/pbs_server /etc/init.d
chkconfig --add pbs_server
service pbs_server restart
cp contrib/init.d/pbs_mom /etc/init.d
chkconfig --add pbs_mom
service pbs_mom start
#cp contrib/init.d/{pbs_{server,sched,mom},trqauthd} /etc/init.d/

# for i in pbs_server pbs_sched pbs_mom trqauthd; do chkconfig --add $i; chkconfig $ion; done

5、在torque的解压路径运行./torque.setup panjie时运行下面两句,设置环境变量

TORQUE=/usr/local/torque-xxx

echo "TORQUE=$TORQUE" >>/etc/profile

echo "export PATH=$PATH:$TORQUE/bin:$TORQUE/sbin" >>/etc/profile

source/etc/profile

./torque.setup panjie
创建自己的镜像

前面安装了这么多,终于到了可以创建自己的镜像的时候。有了自己的镜像,将使得我们以后在各种环境下,快速的安装vasp.

步骤:
0 安装ssh
1 退出镜像
2 commit新镜像
3 登录镜像仓库
4 push 镜像

exit

# 使用镜像

docker pull xxxx:4.5.1
docker run -d --name {containername} -t xxxx:4.5.1 -p 2122:22

再然后,我们可以通过xshell等终端连接运行docker服务器的2122端口来进行登录了。

# 参考资源
> [https://cndaqiang.github.io/2018/01/09/ubuntu-install-vasp/](https://cndaqiang.github.io/2018/01/09/ubuntu-install-vasp/)

> [https://software.intel.com/en-us/articles/using-intel-compilers-for-linux-under-redhat-enterprise-linux-or-centos](https://software.intel.com/en-us/articles/using-intel-compilers-for-linux-under-redhat-enterprise-linux-or-centos)
> [http://docs.adaptivecomputing.com/torque/5-1-1/Content/topics/hpcSuiteInstall/manual/1-installing/installingTorque.htm](http://docs.adaptivecomputing.com/torque/5-1-1/Content/topics/hpcSuiteInstall/manual/1-installing/installingTorque.htm)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27289.html

相关文章

  • Redis3.0.2在Centos6.6上面的安装过程

    摘要:安装介绍用作系统的缓存安装流程以及中间出现的问题由于本人使用作为开发语言,所以习惯下面的备注信息使用符号下面命令我是在用户下运行以下为中间出现的报错信息和解决方式上面是说找不到镜像,首先考虑的是网络问题,想到了服务器配置,之前 [TOC] centos6.6安装redis3.0.2 1介绍 redis用作系统的缓存 2安装流程以及中间出现的问题 # 由于本人使用Python作为开发语言...

    CODING 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<