追求卓越,成功就会在不经意间追上你
全部博文(112)
分类: 高性能计算
2014-02-18 13:17:34
PWscf安装文档
###博客许久未更新了,从传统的互联网运维转战超算运维再到HPC解决方案,虽然都是IT行业,但感觉跨度还是比较大,特别是需要行业背景及深厚功底的HPC来说,真是坑大水深!
PWscf计算软件是意大利理论物理研究中心发布的Quantum-ESPRESSO(Quantumop En-Source Package for Researchin Electronic Structure,Simulation,and Optimization)计算软件包中的两大模块之一。Quantum-ESPRESSO软件包的开发遵守GNU自由软件的协议,是基于密度泛函理论,应用平面波基组和赝势方法的第一性原理计算软件。先前由于计算软件的落后而使得一些有用的方法如线性响应、超软赝势CP分子动力学(MD)方法等,受到了应用上的阻碍,这个软件的发布正是基于这种情况,从而提供了应用这些方法的一个平台。它包括两大模块:PWscf和CPMD,除此以外,还有两个辅助性的图形界面模块用于输入参数的设定和赝势的产生。
官方网站:
最新版本:5.0.3
? 编译器 -- 推荐使用 intel c/fortran 编译器
? 依赖关系 -- Gotoblas2 + lapack + fftw3
? 并行环境 -- intel编译器版本的openmpi
? 软件包:espresso-4.3.1.tar.gz
espresso-4.3.1-examples.tar.gz
GotoBLAS2-1.13.tar.gz
lapack-3.1.1.tgz
fftw-3.3.3.tar.gz
? 导入相关环境变量
intel编译器:source /opt/intel/composer_xe_2013_sp1.0.080/bin/compilervars intel64
openmpi相关:export PATH=$PATH:/opt/software/mpi/openmpi-1.6-intel/bin
export LD_LIBARY_PATH= $LD_LIBARY_PATH:/opt/software/mpi/openmpi-1.6-intel/lib
export INCLUDE=$INCLUDE:/opt/software/mpi/openmpi-1.6-intel/include
? 安装Gotoblas2 + lapack
安装Gotoblas2时会自动联网下载相应的lapack包,如果没有网络,把相关的lapack压缩包放到解压后的Gotoblas2目录即可,安装Gotoblas2时使用intel的ifort编译器。
tar -xvf GotoBLAS2-1.13.tar.gz
cp lapack-3.1.1.tgz GotoBLAS2
cd GotoBLAS2
vim Makefile.rule
(更改以下行
17行,去掉注释 CC=gcc
20行,去掉注释 FC=ifort
27行,去掉注释 BINARY=64
33行,去掉注释 USE_THREAD=0 )
make (如果有网络会自动下载并安装好lapack)
mkdir /opt/software/goto2
cp libgoto2*.a /opt/software/goto2/
? 安装fftw3
tar -xvf fftw-3.3.3.tar.gz
cd fftw-3.3.3
#安装单精度浮点计算版本
./configure --prefix=/opt/software/fftw333-float -enable-float
make && make install
#安装双精度浮点计算版本,默认为双精度浮点版本
make clean
./configure --prefix=/opt/software/fftw333-double
make && make install
? 安装espresso -- pwscf
tar -xvf espresso-4.3.1.tar.gz
cd espresso-4.3.1
./configure
vim make.sys(
编辑make.sys文件,做如下更改
第34行:DFLAGS = -D_INTEL -D_FFTW3 -D_MPI -D_PARA
第94行:BLAS_LIBS = -L/opt/software/goto2 -lgoto2
保存退出)
make all
mkdir -p /opt/software/PWscf431/bin
cp bin/* /opt/software/PWscf431/bin/
? 官方算例测试
tar -xvf espresso-4.3.1-examples.tar.gz
cd espresso-4.3.1/examples/example01
./run_example
? 并行测试
mkdir pwscf_test
cd pwscf_test
cp /opt/software/source/pwscf/espresso-4.3.1/tests/atom.in .
cp /opt/software/source/pwscf/espresso-4.3.1/pseudo/O.pz-van_ak.UPF .
vim atom.in
(在&control条目下增加如下项pseudo_dir='.', )
导入mpi变量,或者使用绝对路径执行
/opt/software/mpi/openmpi-1.6-intel/bin/mpiexec
-np 4 --hostfile node \ /opt/software/PWscf431/bin/pw.x
测试结果截图:
? PBS作业测试
l 作业提交脚本
cat pwscf.pbs
#!/bin/bash
#PBS -N pwscf_test
#PBS -q batch
#PBS -l nodes=4:ppn=1
#PBS -j oe
#PBS -l walltime=10:00:00
cd $PBS_O_WORKDIR
NP=`cat $PBS_NODEFILE|wc -l`
mpiexec -machinefile nodes -np $NP /opt/software/PWscf431/bin/pw.x
提交作业:qsub pwscf.pbs