计算化学公社

 找回密码 Forget password
 注册 Register
Views: 104774|回复 Reply: 74
打印 Print 上一主题 Last thread 下一主题 Next thread

[Quantum ESPRESSO] Quantum ESPRESSO在Linux下的安装方法

  [复制链接 Copy URL]

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

Quantum ESPRESSO在Linux下的安装方法
Installation method of Quantum ESPRESSO under Linux

文/Sobereva@北京科音
First release: 2020-Jul-10  Last update: 2020-Jul-23


1 前言

Quantum ESPRESSO (QE)是用户非常多、极为流行的第一性原理程序,而且完全开源免费。本文介绍一下QE在Linux下的安装过程。本文对于CentOS 7.x系列系统下安装QE 6.5是完全适合的,对于其它QE版本或其它Linux系统请自行尝试、随机应变。本文使用root账户,对于普通用户请安装到自己有读写权限的目录。本文基于OpenMPI库+MKL库+gfortran/gcc编译器进行编译。编译的是纯CPU版本,不支持GPU加速(GPU加速还需要有PGI Fortran编译器)。如果机子里还没装gcc和gfortran,应先用yum install gcc命令进行安装。

关于编译的更多细节可以看QE的手册https://www.quantum-espresso.org/Doc/user_guide/node10.html

在CentOS下使用yum也可以不通过编译来安装,但有一些弊端,见此文第6节。

2 安装OpenMPI

为了让QE能基于MPI并行计算,需要先装MPI库,一般就用OpenMPI。笔者用的是OpenMPI 4.0.3,经测试与QE 6.5完全兼容。

https://www.open-mpi.org下载最新的OpenMPI包,解压后进入此目录,运行以下命令将之编译并安装到指定目录下。这里笔者安装到了/sob/openmpi目录下。
./configure --prefix=/sob/openmpi
make all install

在~/.bashrc文件中加入以下内容
export PATH=$PATH:/sob/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/sob/openmpi/lib

然后重新打开终端,以上设置就生效了。可以运行mpiexec -V,如果正常显示出了OpenMPI的版本,说明已经装好了。之后可以删掉OpenMPI压缩包和解压出的目录。

注:如果机子里之前还有其它MPI库,应当运行which mpiexec来看看是否确实指向的是新装的OpenMPI,如果指向的是其它的,则并行运行可能失败。比如如果你之前在机子里装过Intel编译器的时候顺带装了Intel MPI,则应当在编译QE以及运行QE前将~/.bashrc里的相应配置语句注释掉后重新进入终端,免得被利用的是Intel MPI而非新装的OpenMPI。


3 安装MKL库

为了让QE能利用效率很高的MKL数学库来提升计算速度,应当在编译QE前先把MKL装上。MKL库目前是免费的,CentOS下可以运行以下两行命令安装。期间会下载几百兆的文件,文件会被安装到/opt/intel目录下,占3GB多(对于2020-Jul-10时下载的版本而言)。如果你之前机子里装过Intel编译器,且在装的时候已经选择装了MKL,就不需要再这么装一遍了。

添加intel的源:
yum-config-manager --add-repo https://yum.repos.intel.com/mkl/setup/intel-mkl.repo

下载并安装MKL:
yum install -y intel-mkl


4 编译QE

https://github.com/QEF/q-e/releases下载QE最新版源代码包,比如qe-6.5-ReleasePack.tgz。

解压并进入其中,运行以下命令。这里-enable-openmp使得QE也可以利用OpenMP来并行,如果不打算以OpenMP并行的话就不写这个。
./configure --prefix=/sob/qe65 -enable-openmp
make all install -j
四核机子上经过几分钟编译完毕,可执行文件都被装到了/sob/qe65/bin目录下。解压出的目录和压缩包此时虽然可以删掉,但我建议还是留着解压出的目录,里面有些文件以后还用得着。

注:QE在编译过程默认调用gfortran、gcc和mpif90。如果想改默认的编译器,应对QE目录下的make.inc文件里的编译器设置进行修改,而且在之前编译OpenMPI的时候也用相应的编译器。

在~/.bashrc文件中加入以下内容(如果你用的不是root的话,前两行不用加)
export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
export PATH=$PATH:/sob/qe65/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/compilers_and_libraries_2020.2.254/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节。


5 测试QE

下面对QE最关键的PWscf模块做简单测试。下载http://sobereva.com/attach/562/diamond.zip并解压,此任务是对金刚石做SCF计算。

QE是MPI和OpenMP混合方式并行的程序,实际并行核数是MPI进程数与每个下属的OpenMP线程数的乘积。

先测试纯MPI并行方式运行。进入diamond目录后,运行以下命令,使用4个MPI进程计算,每个MPI进程下属只有一个线程。
export OMP_NUM_THREADS=1
mpirun -n 4 pw.x < pwscf.in |tee pwscf.out
如果任务能正常完成,末尾显示JOB DONE,就说明已经装好了。注:如果不设置OMP_NUM_THREADS环境变量的话,机子有多少核,OpenMP就会用多少个线程。

然后再测试纯OpenMP并行方式运行。运行以下命令,将使用一个MPI进程下属4个OpenMP线程进行计算
export OMP_NUM_THREADS=4
pw.x < pwscf.in |tee pwscf.out

也可以使用QE自带的测试集进行测试。做法是进入QE解压后的目录的test-suite子目录,在里面运行make run-tests-parallel命令,就会在并行运算下对所有任务进行测试,每一项对应的含义见此目录下的README。如果只想测试比如PWscf模块,则运行make run-tests-pw-parallel。


6 在CentOS下使用yum安装QE

下面文字适用于CentOS,使用root的情况。会安装基于OpenMPI并行但不支持OpenMP并行的QE 6.5版。至少对于对于CentOS 7.7和8.0而言,被安装的是QE 6.5版。Ubuntu下也可以用apt-get装,本文就不提了。

运行以下命令:
yum install epel-release
yum install quantum-espresso-openmpi
期间会自动安装OpenMPI、OpenBLAS、ScaLapack等包。如果你是用yum install quantum-espresso,则安装的是只能串行计算的版本,没实际价值。

之后在~/.bashrc文件里加入以下内容:
export PATH=$PATH:/usr/lib64/openmpi/bin/
如果你用的是root的话同时加入
export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
之后重新进入终端即可使用。

QE的文件被安装到了/usr/lib64/openmpi/bin/目录下,可执行文件都带着_openmpi后缀。比如可以运行mpirun -n 4 pw.x_openmpi < pwscf.in。

对于计算密集型程序,像QE这种编译不麻烦的话,我鼓励自行编译,因为yum装的CentOS软件源里的预编译版为了兼容性、减少库的依赖,在一些地方可能会打一些折扣,比如没用MKL(对QE提供高质量的BLAS、ScaLapack和FFT)、用的编译选项比较保守,故性能可能逊于自己编译的。而且自己编译的话可以自定义文件产生的位置,虽然yum也可以用--installroot=...选项指定安装在哪,但是有些程序可能不能运行。

另外,QE的文档信息很零散,比如支持的泛函完整列表甚至还得去看源代码包里的func.f90里的注释等等,所以最好有源代码包。之前若自己用源代码包编译过之后还可以直接用make epw、make w90、make gipaw等命令编译安装与QE有关的程序。

评分 Rate

参与人数
Participants 11
eV +48 收起 理由
Reason
吃饭专家王大爷 + 3 谢谢
Adair + 5 赞!
hit_liaols + 5 好物!
shuwuwu + 4 赞!
ChemG + 5 好物!
Penson + 4 自己手动安装可惜,直接Yum的版本算不起来.
昼夏の忧郁 + 5 好物!
thanhtam + 2 赞!
newple + 5 赞!
ggdh + 5 赞!
zsu007 + 5 谢谢分享

查看全部评分 View all ratings

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

343

帖子

1

威望

6998

eV
积分
7361

Level 6 (一方通行)

2#
发表于 Post on 2020-7-22 07:28:33 | 只看该作者 Only view this author
谢谢社长的分享!

903

帖子

37

威望

5324

eV
积分
6967

Level 6 (一方通行)

3#
发表于 Post on 2020-7-22 08:54:02 | 只看该作者 Only view this author
sob大魔王啥时候才能全面入侵第一性领域啊

125

帖子

0

威望

2268

eV
积分
2393

Level 5 (御坂)

4#
发表于 Post on 2020-7-22 09:12:08 | 只看该作者 Only view this author
感谢社长分享

175

帖子

0

威望

3267

eV
积分
3442

Level 5 (御坂)

5#
发表于 Post on 2020-7-22 15:22:55 | 只看该作者 Only view this author
社长能不能先发布点QE的波函数分析程序啊?等得急死了!

63

帖子

0

威望

201

eV
积分
264

Level 3 能力者

6#
发表于 Post on 2020-7-22 15:24:43 | 只看该作者 Only view this author
请问CP2K与QE功能上有何区别,是否完全相同

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

7#
 楼主 Author| 发表于 Post on 2020-7-23 00:19:32 | 只看该作者 Only view this author
ggdh 发表于 2020-7-22 08:54
sob大魔王啥时候才能全面入侵第一性领域啊

明年吧。最近开始偶尔做点相关的ppt。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

8#
 楼主 Author| 发表于 Post on 2020-7-23 00:22:55 | 只看该作者 Only view this author
孙宝刚 发表于 2020-7-22 15:24
请问CP2K与QE功能上有何区别,是否完全相同

侧重点不一样。CP2K主要强在高效率处理大体系、大尺度AIMD等方面。QE和VASP、CASTEP这类纯基于平面波的程序的范畴比较相近,是传统型的第一性原理程序,比较适合中/小晶胞并需要考虑k点采样的情况,适合计算材料性质等方面问题。有些问题QE和CP2K都能干,但二者在最擅长的部分是互补的,所以以后北京科音开设第一性原理培训班的时候打算是两个都讲,以QE为主,CP2K为辅。

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
Penson + 2 非常赞同,要花点时间学习一下QE才行

查看全部评分 View all ratings

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

9#
 楼主 Author| 发表于 Post on 2020-7-23 00:28:58 | 只看该作者 Only view this author
ghifi37 发表于 2020-7-22 15:22
社长能不能先发布点QE的波函数分析程序啊?等得急死了!

这还早得很,手上没做完的事还数不清。就算支持,可能也就只支持gamma点
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

113

帖子

0

威望

2276

eV
积分
2389

Level 5 (御坂)

10#
发表于 Post on 2020-7-23 07:02:09 | 只看该作者 Only view this author
试图按照课长做法安装QE,结果在configure这步就报错,请问如何解决?谢谢!
  1. checking build system type... x86_64-pc-linux-gnu
  2. checking ARCH... x86_64
  3. checking setting AR... ... ar
  4. checking setting ARFLAGS... ... ruv
  5. checking for gfortran... gfortran
  6. checking whether the Fortran compiler works... yes
  7. checking for Fortran compiler default output file name... a.out
  8. checking for suffix of executables...
  9. checking whether we are cross compiling... no
  10. checking for suffix of object files... o
  11. checking whether we are using the GNU Fortran compiler... yes
  12. checking whether gfortran accepts -g... yes
  13. checking for mpif90... mpif90
  14. checking whether we are using the GNU Fortran compiler... no
  15. checking whether mpif90 accepts -g... no
  16. checking version of mpif90... unknown, assuming gfortran
  17. checking for Fortran flag to compile .f90 files... unknown
  18. configure: error: Fortran could not compile .f90 files
复制代码


516

帖子

1

威望

5052

eV
积分
5588

Level 6 (一方通行)

11#
发表于 Post on 2020-7-23 09:10:05 | 只看该作者 Only view this author
社长开始发力了,期待第一性原理班

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
snljty + 2

查看全部评分 View all ratings

164

帖子

0

威望

1939

eV
积分
2103

Level 5 (御坂)

12#
发表于 Post on 2020-7-23 10:50:08 | 只看该作者 Only view this author
望月凝香 发表于 2020-7-23 07:02
试图按照课长做法安装QE,结果在configure这步就报错,请问如何解决?谢谢!

可能openmpi装得不对

831

帖子

1

威望

7185

eV
积分
8036

Level 6 (一方通行)

13#
发表于 Post on 2020-7-23 14:18:10 | 只看该作者 Only view this author
OpenMP的选项应该是--enable-openmp吧?

另外用gcc 10编译qe6.5稳定版本会有问题,不过qe最新的版本已经解决了这个问题。参见https://gitlab.com/QEF/q-e/-/issues/187

63

帖子

0

威望

201

eV
积分
264

Level 3 能力者

14#
发表于 Post on 2020-7-23 14:52:14 | 只看该作者 Only view this author
sobereva 发表于 2020-7-23 00:22
侧重点不一样。CP2K主要强在高效率处理大体系、大尺度AIMD等方面。QE和VASP、CASTEP这类纯基于平面波的程 ...

希望明年能开班,做AIMD的话还是选择CP2K吧

5万

帖子

99

威望

5万

eV
积分
112356

管理员

公社社长

15#
 楼主 Author| 发表于 Post on 2020-7-23 15:10:51 | 只看该作者 Only view this author
望月凝香 发表于 2020-7-23 07:02
试图按照课长做法安装QE,结果在configure这步就报错,请问如何解决?谢谢!

如果不是用的OpenMPI,或者比如Intel MPI在启用状态,或者之前用的ifort编译的OpenMPI等情况,都没准会造成这个问题
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取北京科音培训的最新消息、避免错过网上有价值的计算化学文章!
欢迎加入人气非常高、专业性特别强的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-24 11:41 , Processed in 0.333347 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list