Quantum Espresso编译与安装

1. 安装依赖

1.1. 安装OpenMPI

#去https://www.open-mpi.org下载最新的OpenMPI包,解压后进入此目录,运行以下命令将之编译并安装到指定目录下。
./configure --prefix=/opt/libraries/gnu8-openmpi/4.1.1 --enable-mpi-cxx --enable-mpi-fortran --enable-shared
make all install
#新建一个文件,名为~/run_software_bashrc/before_run_qe7.2.sh,内容如下:
#openmpi-4.1.1#
export MPI_HOME=/opt/libraries/gnu8-openmpi/4.1.1 && \
export PATH=$MPI_HOME/bin:$PATH && \
export LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATH && \
export INCLUDE=$MPI_HOME/include:$INCLUDE && \
export MANPATH=$MPI_HOME/share/man:$MANPATH
#然后重新打开终端,以上设置就生效了。可以运行mpiexec -V,如果正常显示出了OpenMPI的版本,说明已经装好了。之后可以删掉OpenMPI压缩包和解压出的目录。
  • 注:如果机子里之前还有其它MPI库,应当运行which mpiexec来看看是否确实指向的是新装的OpenMPI,如果指向的是其它的,则并行运行可能失败。比如如果你之前在机子里装过Intel编译器的时候顺带装了Intel MPI,则应当在编译QE以及运行QE前将~/.bashrc里的相应配置语句注释掉后重新进入终端,免得被利用的是Intel MPI而非新装的OpenMPI。

1.2. 安装Intel MKL

  • 安装请查看VASP编译与安装配置HPC中的Intel MKL安装部分。

  • 环境变量如下:

#intel#
source /opt/intel/intel-2019up5/compilers_and_libraries_2019.5.281/linux/mkl/bin/mklvars.sh intel64

2. 编译Quantum Espresso

#去http://www.quantum-espresso.org/download下载最新的Quantum Espresso包,解压后进入此目录,运行以下命令将之编译并安装到指定目录下。这里-enable-openmp使得QE也可以利用OpenMP来并行,如果不打算以OpenMP并行的话就不写这个。
./configure --prefix=/opt/apps/qe-6.5 -enable-openmp
make all install -j # 若出错,去掉-j选项再试试。
# 四核机子上经过几分钟编译完毕,可执行文件都被装到了/opt/apps/qe-6.5/bin目录下。解压出的目录和压缩包此时虽然可以删掉,但建议还是留着解压出的目录,里面有些文件以后还用得着。
# 注:QE在编译过程默认调用gfortran、gcc和mpif90。如果想改默认的编译器,应对QE目录下的make.inc文件里的编译器设置进行修改,而且在之前编译OpenMPI的时候也用相应的编译器。
  • 在~/.bashrc里添加以下内容:

#qe72#
export PATH=$PATH:/opt/apps/qe-6.5/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/intel-2019up5/compilers_and_libraries_2019.5.281/linux/mkl/lib/intel64_lin
# 这里往LD_LIBRARY_PATH环境变量添加的Intel MKL库的目录名应当与你当前机子里的实际路径一致。
  • 之后重新进入终端,QE的可执行文件就可以在任意目录下直接运行了。

  • 以上述方式编译出来的QE没有包含EPW、PLUMED、Wannier90、WanT、YAMBO、GIPAW程序,如果需要编译的话,看官网上User’s Guide for Quantum ESPRESSO文档的2.5节。

  • 可选:可将最终的环境变量写入一个文件中(run_qe-6.5.sh)

#openmpi-4.1.1#
export PATH=$PATH:/opt/libraries/gnu8-openmpi/4.1.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libraries/gnu8-openmpi/4.1.1/lib
#qe72#
export PATH=$PATH:/opt/apps/qe-6.5/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/intel-2019up5/compilers_and_libraries_2019.5.281/linux/mkl/lib/intel64_lin

3. 测试

  • 进入QE的安装目录,运行以下命令:

#测试#
# 下载测试文件
export OMP_NUM_THREADS=1
mpirun -np 4 pw.x < si.scf.in > si.scf.out
# 如果任务能正常完成,末尾显示JOB DONE,就说明已经装好了。注:如果不设置OMP_NUM_THREADS环境变量的话,机子有多少核,OpenMP就会用多少个线程。
  • 也可以使用QE自带的测试集进行测试。做法是进入QE解压后的目录的test-suite子目录,在里面运行make run-tests-parallel命令,就会在并行运算下对所有任务进行测试,每一项对应的含义见此目录下的README。如果只想测试比如PWscf模块,则运行make run-tests-pw-parallel。

4. QE的输入文件

  • QE的输入文件格式是自由格式,可以用任意编辑器编辑,但是必须以.in为后缀名。输入文件的内容可以参考QE的手册,或者在安装目录下的examples目录里找到相应的示例文件。

5. QE的输出文件

  • QE的输出文件格式是自由格式,可以用任意编辑器编辑,但是必须以.out为后缀名。输出文件的内容可以参考QE的手册,或者在安装目录下的examples目录里找到相应的示例文件。

6. CentOS使用yum安装Quantum Espresso

#安装Quantum Espresso
yum install -y quantum-espresso
#安装Quantum Espresso的文档
yum install -y quantum-espresso-doc
#安装Quantum Espresso的示例
yum install -y quantum-espresso-examples

7. Ubuntu使用apt安装Quantum Espresso

#安装Quantum Espresso
apt install -y quantum-espresso
#安装Quantum Espresso的文档
apt install -y quantum-espresso-doc
#安装Quantum Espresso的示例
apt install -y quantum-espresso-examples