计算化学公社

标题: Quantum ESPRESSO在Linux下的安装方法 [打印本页]

作者
Author:
sobereva    时间: 2020-7-22 06:30
标题: Quantum ESPRESSO在Linux下的安装方法
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有关的程序。
作者
Author:
zsu007    时间: 2020-7-22 07:28
谢谢社长的分享!
作者
Author:
ggdh    时间: 2020-7-22 08:54
sob大魔王啥时候才能全面入侵第一性领域啊
作者
Author:
fineren    时间: 2020-7-22 09:12
感谢社长分享
作者
Author:
ghifi37    时间: 2020-7-22 15:22
社长能不能先发布点QE的波函数分析程序啊?等得急死了!
作者
Author:
孙宝刚    时间: 2020-7-22 15:24
请问CP2K与QE功能上有何区别,是否完全相同
作者
Author:
sobereva    时间: 2020-7-23 00:19
ggdh 发表于 2020-7-22 08:54
sob大魔王啥时候才能全面入侵第一性领域啊

明年吧。最近开始偶尔做点相关的ppt。

作者
Author:
sobereva    时间: 2020-7-23 00:22
孙宝刚 发表于 2020-7-22 15:24
请问CP2K与QE功能上有何区别,是否完全相同

侧重点不一样。CP2K主要强在高效率处理大体系、大尺度AIMD等方面。QE和VASP、CASTEP这类纯基于平面波的程序的范畴比较相近,是传统型的第一性原理程序,比较适合中/小晶胞并需要考虑k点采样的情况,适合计算材料性质等方面问题。有些问题QE和CP2K都能干,但二者在最擅长的部分是互补的,所以以后北京科音开设第一性原理培训班的时候打算是两个都讲,以QE为主,CP2K为辅。
作者
Author:
sobereva    时间: 2020-7-23 00:28
ghifi37 发表于 2020-7-22 15:22
社长能不能先发布点QE的波函数分析程序啊?等得急死了!

这还早得很,手上没做完的事还数不清。就算支持,可能也就只支持gamma点
作者
Author:
望月凝香    时间: 2020-7-23 07:02
试图按照课长做法安装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
复制代码



作者
Author:
niobium    时间: 2020-7-23 09:10
社长开始发力了,期待第一性原理班
作者
Author:
thanhtam    时间: 2020-7-23 10:50
望月凝香 发表于 2020-7-23 07:02
试图按照课长做法安装QE,结果在configure这步就报错,请问如何解决?谢谢!

可能openmpi装得不对
作者
Author:
hebrewsnabla    时间: 2020-7-23 14:18
OpenMP的选项应该是--enable-openmp吧?

另外用gcc 10编译qe6.5稳定版本会有问题,不过qe最新的版本已经解决了这个问题。参见https://gitlab.com/QEF/q-e/-/issues/187
作者
Author:
孙宝刚    时间: 2020-7-23 14:52
sobereva 发表于 2020-7-23 00:22
侧重点不一样。CP2K主要强在高效率处理大体系、大尺度AIMD等方面。QE和VASP、CASTEP这类纯基于平面波的程 ...

希望明年能开班,做AIMD的话还是选择CP2K吧
作者
Author:
sobereva    时间: 2020-7-23 15:10
望月凝香 发表于 2020-7-23 07:02
试图按照课长做法安装QE,结果在configure这步就报错,请问如何解决?谢谢!

如果不是用的OpenMPI,或者比如Intel MPI在启用状态,或者之前用的ifort编译的OpenMPI等情况,都没准会造成这个问题
作者
Author:
sobereva    时间: 2020-7-23 15:13
hebrewsnabla 发表于 2020-7-23 14:18
OpenMP的选项应该是--enable-openmp吧?

另外用gcc 10编译qe6.5稳定版本会有问题,不过qe最新的版本已经 ...

-enable-openmp也能正常认
作者
Author:
啦啦黑还黑    时间: 2020-7-23 15:24
Ubuntu直接 apt-get install quantum-espresso
CentOS直接 yum install quantum-espresso
作者
Author:
rabbitkiller    时间: 2020-7-23 15:52
望月凝香 发表于 2020-7-23 07:02
试图按照课长做法安装QE,结果在configure这步就报错,请问如何解决?谢谢!

f90文件没法编译?

我机器上是openmpi和intel parallel studio都有,编译QE的时候用的是intel的编译器,所以用的命令是

./configure F90=mpiifort F90=ifort CC=mpiicc F77=mpiifort -enable-parallel

所以,你是不是要指定下f90的编译器?
作者
Author:
sobereva    时间: 2020-7-23 18:50
给本文增加了第6节,专门说了CentOS通过yum方式安装QE的方法和一些要注意的问题。
作者
Author:
wolfli369    时间: 2020-7-23 19:57
期待社长的第一性原理培训
作者
Author:
望月凝香    时间: 2020-7-26 13:27
rabbitkiller 发表于 2020-7-23 15:52
f90文件没法编译?

我机器上是openmpi和intel parallel studio都有,编译QE的时候用的是intel的编译器 ...

通过注释掉intel编译器,并全部指定GNU,解决了问题。看来还是编译器的问题。
作者
Author:
yoya    时间: 2020-8-10 10:57
sobereva 发表于 2020-7-23 00:22
侧重点不一样。CP2K主要强在高效率处理大体系、大尺度AIMD等方面。QE和VASP、CASTEP这类纯基于平面波的程 ...

期待社长开设第一性原理培训班
作者
Author:
装着智慧的花瓶    时间: 2020-10-8 15:46
sobereva 发表于 2020-7-23 00:19
明年吧。最近开始偶尔做点相关的ppt。

好开森~社长大人威武~
作者
Author:
ChemG    时间: 2020-10-13 20:15
已经成功安装啦,JOB DONE。谢谢社长。
作者
Author:
Freeman    时间: 2020-10-21 13:07
本帖最后由 Freeman 于 2020-10-21 13:09 编辑

社长您好。我使用mpirun -n 4 pw.x < pwscf.in |tee pwscf.out运行,输出文件里面出现了重复打印4次的信息,但感觉运行时间并不比-n 1 的情况更短。请问这样正常吗?我怀疑服务器仅仅把pwscf独立地做了4遍而已。
作者
Author:
sobereva    时间: 2020-10-22 05:24
Freeman 发表于 2020-10-21 13:07
社长您好。我使用mpirun -n 4 pw.x < pwscf.in |tee pwscf.out运行,输出文件里面出现了重复打印4次的信息 ...

MPI库有问题,导致没有真正并行
作者
Author:
喵星大佬    时间: 2020-10-24 04:35
注意,如果要编译yambo组件,需在纯mpi模式或纯omp模式,否则会报错无法通过编译
作者
Author:
tanyazhi    时间: 2020-10-28 22:41
大家好,按照社长的帖子安装QE,运行测试文件的时候,出现问题,请大家指导一下,不知道是出了什么问题,感谢大家,如下图:
作者
Author:
sobereva    时间: 2020-10-29 12:47
tanyazhi 发表于 2020-10-28 22:41
大家好,按照社长的帖子安装QE,运行测试文件的时候,出现问题,请大家指导一下,不知道是出了什么问题,感 ...

提示里第一句说了,没找到可执行文件。应确认QE的可执行文件所在目录已经加入$PATH里了,而且确实已经生效了
作者
Author:
BCS    时间: 2020-10-29 20:46
    大家好,我是按照社长帖子的第六节直接安装的QE,用 mpirun -n 4 pw.x_openmpi < pwscf.in运行测试文件的时候出现下面这个问题,不知道是什么原因,在这里请教大家,如下图:
作者
Author:
tanyazhi    时间: 2020-10-29 23:42
感谢社长的回复!今天检查了一下,编译完成之后的目录中,有bin目录,但是bin 目录下没有可执行文件,是空的,之前没有注意到这个问题。我是按照社长帖子里面,从第一步一直搞下来的,到了QE编译的时候出问题了。

作者
Author:
renzhogn424    时间: 2020-10-30 10:51
BCS 发表于 2020-10-29 20:46
大家好,我是按照社长帖子的第六节直接安装的QE,用 mpirun -n 4 pw.x_openmpi < pwscf.in运行测试文件 ...

你这有个 error opening.....  是不是输入文件有误??用测试文件试试
作者
Author:
renzhogn424    时间: 2020-10-30 10:53
tanyazhi 发表于 2020-10-29 23:42
感谢社长的回复!今天检查了一下,编译完成之后的目录中,有bin目录,但是bin 目录下没有可执行文件,是空 ...

我也是这个问题,./configure是 success的,但是make all弄出来的就是bin的空目录。。。

不过我试了QE65是可以的,QE66就装不上。。。你解决了么?
作者
Author:
BCS    时间: 2020-10-30 15:58
renzhogn424 发表于 2020-10-30 10:51
你这有个 error opening.....  是不是输入文件有误??用测试文件试试

谢谢,我弄好了,是我路径之前搞错了
作者
Author:
renzhogn424    时间: 2020-10-30 16:32
BCS 发表于 2020-10-30 15:58
谢谢,我弄好了,是我路径之前搞错了

什么的路径、
是  ./configure配置的时候带上了  --prefix=/XXX/qe66  没 ??
作者
Author:
BCS    时间: 2020-10-30 17:32
renzhogn424 发表于 2020-10-30 16:32
什么的路径、
是  ./configure配置的时候带上了  --prefix=/XXX/qe66  没 ??

我是用yum直接安装的,装好后好像是运行测试文件的时候,进入的目录不对,具体是因为什么错误这个我也不清楚,就试着试着就成功了,我再仔细看看。
作者
Author:
tanyazhi    时间: 2020-10-30 21:08
renzhogn424 发表于 2020-10-30 10:53
我也是这个问题,./configure是 success的,但是make all弄出来的就是bin的空目录。。。

不过我试了QE ...

qe6.5和qe6.6我都试过了,都不行,编译之后的bin目录都是空的
作者
Author:
renzhogn424    时间: 2020-10-31 09:56
BCS 发表于 2020-10-30 17:32
我是用yum直接安装的,装好后好像是运行测试文件的时候,进入的目录不对,具体是因为什么错误这个我也不 ...

yum只能装到qe65,好像目录是  /usr/lib64/openmpi/bin/,之前我也是这么用的。。
作者
Author:
renzhogn424    时间: 2020-10-31 09:57
tanyazhi 发表于 2020-10-30 21:08
qe6.5和qe6.6我都试过了,都不行,编译之后的bin目录都是空的

握手。。。qe65后面我折腾得装上了。。。
好像我用gcc和icc都装成过。。。不行你试试装上intel编译器安装看看。。。
作者
Author:
tanyazhi    时间: 2020-10-31 14:39
renzhogn424 发表于 2020-10-31 09:57
握手。。。qe65后面我折腾得装上了。。。
好像我用gcc和icc都装成过。。。不行你试试装上intel编译器安 ...

1、按照社长的教程,目前已经成功安装qe6.5,后期准备再试一下qe6.6,root账户和普通账户都可以安装成功,使用OpenMPI 4.0.5版本,下载日期2020.10.26,链接都是社长帖子里面的;
2、之前按照社长的帖子已经成功安装g16和VASP5.4.1,安装VASP时,安装了parallel_studio_xe_2019_update1_cluster_edition.tgz。两个程序经过测试正常运行;
3、因为先安装的VASP,所以在安装qe6.5时,先要在~/.bashrc中注释掉intel的相关内容;
4、在编译qe6.5时,使用make all install -j命令,bin目录中没有可执行文件,可以确定的是Openmpi相关内容安装没有问题,在普通账户和root账户使用make all install -j命令编译,已经指定了生成bin文件的目录,但是在bin目录下都不会生成可执行文件或者说不知道生成的可执行文件放在了哪里(后面会说到);
5、查阅相关资料和与其他程序员请教,如果项目的Makefile不规范,没有设置好依赖关系,并行编译的结果就是编译不能正常进行或者编译失败;
6、重新安装qe6.5,先使用make all install -j命令,跟之前效果一样,bin 目录中依然没有可执行文件,然后再使用make all install 命令进行编译,约3-5S就可以完成编译,此时bin 目录中就会存在可执行文件(感觉应该是make all install -j命令已经编译完成,但是可执行文件没有放到指定的目录下或者其他原因,否则执行make all install 命令后,不可能这么快编译生成那么多可执行文件);
7、经过测试,qe6.5可以正常运行,没有问题;
8、卸载qe6.5,重新安装编译,直接使用make all install 命令进行编译,几分钟之后,编译完成,指定bin目录下会生成大量可执行文件,测试,正常运行;
9、make all install -j带一个参数-j,项目可以进行并行编译,例如make -j4,让make最多允许4个编译命令同时执行,不知道什么原因,我这电脑不支持并行编译还是设置错误或者其它原因,并行编译没有成功,后续会进行相关研究测试,感兴趣的朋友可以自行谷歌;
10、安装环境:笔记本CPU,4核心8线程机器,内存8G,CentOS7.6,先在这个笔记本上安装,后期安装到已有服务器上;
11、感谢社长和renzhogn424以及其他朋友提供的帮助,感谢社长的计算化学公社平台,希望能帮到有需要的朋友。

作者
Author:
BCS    时间: 2020-11-1 15:55
renzhogn424 发表于 2020-10-31 09:56
yum只能装到qe65,好像目录是  /usr/lib64/openmpi/bin/,之前我也是这么用的。。

好像是我把那个测试文件diamond移到了目录/usr/lib64/openmpi/bin里,然后直接在这个目录下运行,就会报错
作者
Author:
gog    时间: 2020-11-14 09:27
QE用intelmpi+mkl,相对容易。运行效率也高些吧。
作者
Author:
gqjuly    时间: 2021-4-14 11:07
qiu ifortimpi+qe6.5
作者
Author:
annaqz    时间: 2021-5-31 15:58
我安装了qe-6.7,按照社长的教程逐步进行。openmpi之前安装orca的时候就用过,版本应该是openmpi3.1.4.接着 安装MKL库,显示成功。最后按照步骤编译QE。为什么最后qe下文件夹bin里是空的呢?没有可执行文件。
作者
Author:
ChemG    时间: 2021-5-31 22:35
annaqz 发表于 2021-5-31 15:58
我安装了qe-6.7,按照社长的教程逐步进行。openmpi之前安装orca的时候就用过,版本应该是openmpi3.1.4.接着 ...

gcc版本过低会导致6.7失败,可以尝试安装6.5。或者使用intel编译器安装6.7
作者
Author:
annaqz    时间: 2021-6-2 10:11
ChemG 发表于 2021-5-31 22:35
gcc版本过低会导致6.7失败,可以尝试安装6.5。或者使用intel编译器安装6.7

好的,谢谢我再试试
作者
Author:
hitvip    时间: 2021-9-8 18:02
本帖最后由 hitvip 于 2021-9-8 20:16 编辑

卢老师,作为初学者,还是想弱弱地问下, -j 后面是不是省略了机器的cpu核数或 all ? 谢谢!

  1. make all install -j
复制代码

作者
Author:
sobereva    时间: 2021-9-8 23:15
hitvip 发表于 2021-9-8 18:02
卢老师,作为初学者,还是想弱弱地问下, -j 后面是不是省略了机器的cpu核数或 all ? 谢谢!

-j后面不写核数默认用所有核并行编译
作者
Author:
hitvip    时间: 2021-9-9 07:58
sobereva 发表于 2021-9-8 23:15
-j后面不写核数默认用所有核并行编译

非常感谢卢老师的耐心解答 :)
作者
Author:
huyongxin    时间: 2021-9-30 15:01
本帖最后由 huyongxin 于 2021-9-30 17:01 编辑

社长,我按照你的方法,安装之后,测试的时候报错如下,我是用open_MPI4.0.3和QE6.5的。--------------------------------------------------------------------------
As of version 3.0.0, the "sm" BTL is no longer available in Open MPI.

Efficient, high-speed same-node shared memory communication support in
Open MPI is available in the "vader" BTL.  To use the vader BTL, you
can re-run your job with:

    mpirun --mca btl vader,self,... your_mpi_application
--------------------------------------------------------------------------
--------------------------------------------------------------------------
A requested component was not found, or was unable to be opened.  This
means that this component is either not installed or is unable to be
used on your system (e.g., sometimes this means that shared libraries
that the component requires are unable to be found/loaded).  Note that
Open MPI stopped checking at the first component that it did not find.

Host:      cluster.hpc.org
Framework: btl
Component: sm
--------------------------------------------------------------------------
--------------------------------------------------------------------------
It looks like MPI_INIT failed for some reason; your parallel process is
likely to abort.  There are many reasons that a parallel process can
fail during MPI_INIT; some of which are due to configuration or environment
problems.  This failure appears to be an internal failure; here's some
additional information (which may only be relevant to an Open MPI
developer):

  mca_bml_base_open() failed
  --> Returned "Not found" (-13) instead of "Success" (0)
--------------------------------------------------------------------------
[cluster:11691] *** An error occurred in MPI_Init_thread
[cluster:11691] *** reported by process [2847342593,0]
[cluster:11691] *** on a NULL communicator
[cluster:11691] *** Unknown error
[cluster:11691] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[cluster:11691] ***    and potentially your MPI job)
[cluster.hpc.org:11686] PMIX ERROR: UNREACHABLE in file server/pmix_server.c at line 2198
[cluster.hpc.org:11686] PMIX ERROR: UNREACHABLE in file server/pmix_server.c at line 2198
[cluster.hpc.org:11686] 3 more processes have sent help message help-mpi-btl-sm.txt / btl sm is dead
[cluster.hpc.org:11686] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
[cluster.hpc.org:11686] 3 more processes have sent help message help-mca-base.txt / find-available:not-valid
[cluster.hpc.org:11686] 3 more processes have sent help message help-mpi-runtime.txt / mpi_init:startup:internal-failure
[cluster.hpc.org:11686] 3 more processes have sent help message help-mpi-errors.txt / mpi_errors_are_fatal unknown handle


作者
Author:
malin630    时间: 2021-10-21 18:09
望月凝香 发表于 2020-7-23 07:02
试图按照课长做法安装QE,结果在configure这步就报错,请问如何解决?谢谢!

您好,请问您是如何解决的呢,我也遇到了一模一样的问题,非常感谢!
作者
Author:
wth1219    时间: 2021-12-6 22:00
话说卢老师能不能针对Quantum ESPRESSO软件的常见功能(FPMD、晶胞优化、几何优化、声子计算等。)也开发一个类似于《使用Multiwfn非常便利地创建CP2K程序的输入文件》的功能啊,用惯了CP2K和VASP再看QE感觉非常别扭……
作者
Author:
喵星大佬    时间: 2021-12-6 23:48
wth1219 发表于 2021-12-6 22:00
话说卢老师能不能针对Quantum ESPRESSO软件的常见功能(FPMD、晶胞优化、几何优化、声子计算等。)也开发一 ...

QE其实也就是几套模板改改改呗,VASP用Vaspkit可以生成输入文件,CP2K可以用Multiwfn,QE目前那个Burai已经废了,基本就只能自己改改模板了。不过讲道理QE的输入文件比VASP舒服多了,至少不用准备4个
作者
Author:
sobereva    时间: 2021-12-7 04:38
wth1219 发表于 2021-12-6 22:00
话说卢老师能不能针对Quantum ESPRESSO软件的常见功能(FPMD、晶胞优化、几何优化、声子计算等。)也开发一 ...

目前没这个打算,但不排除以后加入
目前最新版本Multiwfn对QE能做的只有产生一个带坐标的标准任务的输入文件(主功能100的子功能2里),没有可控选项
作者
Author:
renzhogn424    时间: 2021-12-7 10:20
喵星大佬 发表于 2021-12-6 23:48
QE其实也就是几套模板改改改呗,VASP用Vaspkit可以生成输入文件,CP2K可以用Multiwfn,QE目前那个Burai已 ...

Burai看起来还行吧,最近在研究用它生成输入文件,它为啥废了啊 ??
作者
Author:
hzliew    时间: 2021-12-7 13:12
谢谢楼主分享的经验!不过,我发现用intel的mpi 加上icc编译的QE会更快一点点。
作者
Author:
jiangning198511    时间: 2021-12-24 16:15
wth1219 发表于 2021-12-6 22:00
话说卢老师能不能针对Quantum ESPRESSO软件的常见功能(FPMD、晶胞优化、几何优化、声子计算等。)也开发一 ...

可以用cif2qe
作者
Author:
waitingseven    时间: 2021-12-24 16:48
wth1219 发表于 2021-12-6 22:00
话说卢老师能不能针对Quantum ESPRESSO软件的常见功能(FPMD、晶胞优化、几何优化、声子计算等。)也开发一 ...

+1,QE的GUI里Burai算是比较成熟的,但好久没更新了,有些功能也没集成进去
作者
Author:
Freeman    时间: 2021-12-24 22:52
wth1219 发表于 2021-12-6 22:00
话说卢老师能不能针对Quantum ESPRESSO软件的常见功能(FPMD、晶胞优化、几何优化、声子计算等。)也开发一 ...

http://bbs.keinsci.com/thread-20166-1-1.html
作者
Author:
wth1219    时间: 2021-12-25 11:43
喵星大佬 发表于 2021-12-6 23:48
QE其实也就是几套模板改改改呗,VASP用Vaspkit可以生成输入文件,CP2K可以用Multiwfn,QE目前那个Burai已 ...

我用的CP2K输入文件是课题组祖传的,VASP用的就是Vaspkit生成的、还比较方便;QE的那个一言难尽,感觉还不如自己参考各种资料拼凑出来一个,就是需要添加命令的时候需要去翻“Input File Description”,加得还不一定对……
作者
Author:
wth1219    时间: 2021-12-25 11:43
jiangning198511 发表于 2021-12-24 16:15
可以用cif2qe

谢谢老师指教!我去试着用一下。
作者
Author:
wth1219    时间: 2021-12-25 11:44
Freeman 发表于 2021-12-24 22:52
http://bbs.keinsci.com/thread-20166-1-1.html

多谢老师指教!这个很强大!
作者
Author:
wtz1013703083    时间: 2022-2-27 15:57
大佬,用你的diamond测试的时候出现这种报错怎么解决呢。。。
[proxy:0:0@node01] HYDU_create_process (../../utils/launch/launch.c:588): execvp error on file pw.x (No such file or directory)
[proxy:0:0@node01] HYDU_create_process (../../utils/launch/launch.c:588): execvp error on file pw.x (No such file or directory)
[proxy:0:0@node01] HYDU_create_process (../../utils/launch/launch.c:588): execvp error on file pw.x (No such file or directory)
[proxy:0:0@node01] HYDU_create_process (../../utils/launch/launch.c:588): execvp error on file pw.x (No such file or directory)

作者
Author:
vivixjw    时间: 2022-4-12 09:38
本帖最后由 vivixjw 于 2022-4-12 09:47 编辑

社长,您好,按照您的方法安装QE后,在测试提交diamond任务时出现了图中的错误,请问应该怎么解决。 (, 下载次数 Times of downloads: 51) 这是我添加的路径 (, 下载次数 Times of downloads: 63)

作者
Author:
nusiew    时间: 2022-10-30 23:10
tanyazhi 发表于 2020-10-31 14:39
1、按照社长的教程,目前已经成功安装qe6.5,后期准备再试一下qe6.6,root账户和普通账户都可以安装成功 ...

我也出现上面提到的bin目录是空的问题,感谢分享!
作者
Author:
hzliew    时间: 2022-11-28 17:26
QE分别Intel MPI和OpenMPI,哪个更快啊
作者
Author:
霹雳神偷    时间: 2022-11-28 17:34
本帖最后由 霹雳神偷 于 2022-11-30 11:53 编辑

太好了,看着社长的贴子编好了!在这里要提醒一点,QE-7.1和libxc6.0.0不匹配。会造成编译失败的问题。想用libxc的小伙伴一定要去下载5.2.2以前的版本的。这个着实把我坑了好久。

作者
Author:
hzliew    时间: 2022-11-28 18:47
希望有大佬能贴出完整的GPU版QE的安装步骤
作者
Author:
霹雳神偷    时间: 2022-11-30 11:53
本帖最后由 霹雳神偷 于 2022-11-30 12:05 编辑

社长,我费了很大的劲编译成功了,安装也安装好了,但最后测试的时候还是不行。
现在情况是这样的,在root下运行测试文件它直接显示无法在库中找到这个文件,但是事实是mpi路径下是有这一个名字的文件的。 (, 下载次数 Times of downloads: 56)

然后我怀疑是.bashrc下root运行mpi没设置好,于是我试了一下非root下运行测试文件。结果还是不行....但是显示变成这样了。
(, 下载次数 Times of downloads: 49)

(, 下载次数 Times of downloads: 59)
请问应该怎么解决。
我的.bashrc里面这四句话是这样的。
(, 下载次数 Times of downloads: 88)
我用的系统是Rocky linux 8.7。







作者
Author:
snljty2    时间: 2022-11-30 14:04
hzliew 发表于 2022-11-28 18:47
希望有大佬能贴出完整的GPU版QE的安装步骤

《CentOS下GPU加速版QE的编译安装》论坛首页随便一搜就能找到。
作者
Author:
yulonghai    时间: 2023-3-18 21:30
霹雳神偷 发表于 2022-11-28 17:34
太好了,看着社长的贴子编好了!在这里要提醒一点,QE-7.1和libxc6.0.0不匹配。会造成编译失败的问题。想用 ...

您好,可以具体描述有一下不匹配的问题吗?我用的也是QE-7.1
Warning: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
编译的时候一堆这种warning,不知道是不是你提到的不匹配。
测试的时候基本全error。
作者
Author:
hdb    时间: 2023-4-28 11:06
本帖最后由 hdb 于 2023-5-10 16:55 编辑

QE编译血泪史,搞了很久,因为系统配置了很多软件,环境很多又很乱,没做环境隔离,所以想分享几个编译的关键点:

编译环境:centos7系统,gcc(版本>=7), openmpi(4.8.5,别的没试),qe(7.0)- gcc安装:
  1. yum -y install centos-release-scl
  2. yum -y install devtoolset-11
  3. source /opt/rh/devtoolset-11/enable #临时使用即可,防止影响其它软件编译,其他版本同理
  4. gcc -v # 确认下编译器版本是否正确
复制代码

- openmpi安装命令:
  1. wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.5.tar.gz
  2. tar -zxvf openmpi-4.1.5.tar.gz
  3. cd openmpi-4.1.5/
  4. yum install -y glibc-headers gcc-c++
  5. ./configure --prefix=/path/to/openmpi-4.1.5 # 注意替换你自己你的路径
  6. make all install
  7. echo "# openmpi" >> $HOME/.bashrc
  8. echo "export OPENMPI_PATH=/path/to/openmpi-4.1.5" >> $HOME/.bashrc # 注意替换你自己你的路径
  9. source $HOME/.bashrc
  10. echo "export PATH=\$PATH:\$OPENMPI_PATH/bin" >> $HOME/.bashrc
  11. echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$OPENMPI_PATH/lib" >> $HOME/.bashrc
  12. source $HOME/.bashrc
复制代码

- 构建临时环境(用处似乎不大,作为补充手段就行):这一步主要是因为编译QE的时候总是使用miniconda的gnu,一直报错,目前还不清楚具体原因,可能是因为conda搭建的虚拟环境优先使用conda的环境,所以想把这个环境暂时删掉,另外配合./configure指定编译器路径,双管齐下,就不信你qe还找不到mpif90的路径
使用了笨但容易理解的办法,echo $PATH或者echo $LD_LIBRARY_PATH,所有注册的路径用冒号(:)分隔开了
把输出的路径复制下,删除掉不需要或有冲突的环境
export PATH=删除后的环境路径
LD_LIBRARY_PATH同理

- QE预编译(root不需要加sudo):
重点1:预编译结束后,请一定检查make.inc的这三个字段,是否是你想用的编译器
MPIF90         = mpif90
F90           = gfortran
CC             = cc
重点2:如果你想更换编译器,请在预编译时指定编译器路径,格式同上,一定要把变量放./configure前面,不然变量不生效
我的预编译命令长这样,仅供参考,注意替换mpi路径:
  1. sudo MPIF90=/path/to/openmpi/bin/mpif90 F90=gfortran CC=cc ./configure -enable-openmp
复制代码

- 编译QE模块(root不需要加sudo):
这一步出问题的话,基本都是预编译的配置的锅,命令如下:
  1. sudo make all -j
复制代码

最后一个建议,计算的时候指定输入文件最好使用-i选项,不要使用<,有的系统会出问题,计算命令如下:
  1. mpirun -np 4 -x OMP_NUM_THREADS=1 pw.x -i pwscf.in | tee pwscf.out
复制代码

参考:
1. https://www.quantum-espresso.org/Doc/user_guide/node11.html
2. http://bbs.keinsci.com/thread-18600-1-1.html






作者
Author:
Liangyusheng    时间: 2023-10-30 22:00
tanyazhi 发表于 2020-10-31 14:39
1、按照社长的教程,目前已经成功安装qe6.5,后期准备再试一下qe6.6,root账户和普通账户都可以安装成功 ...

朋友,非常感谢你这篇帖子,我就是编译出来之后一直bin目录下没有可执行文件,就是-j并行编译的问题,现在已经全部编译出来了,非常感谢
作者
Author:
小白一个    时间: 2024-5-30 16:43
社长大人,求救!
我先安装了vasp,按照您的vasp5.4.4极简安装方法装的,(https://www.bilibili.com/video/B ... arch-card.all.click
现在我想装QE,但在第二步安装OpenMPI时,原来的Intel MPI不知道该怎样注释掉,因为~/.bashrc里面只有source /opt/intel/parallel_studio_xe_2019/psxevars.sh
没有单独可以注释掉MPI的地方,请问该怎样注释掉原来的Intel MPI呢?

作者
Author:
sobereva    时间: 2024-5-30 16:52
小白一个 发表于 2024-5-30 16:43
社长大人,求救!
我先安装了vasp,按照您的vasp5.4.4极简安装方法装的,(https://www.bilibili.com/vide ...

把.sh脚本文件读明白了自然就知道了




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3