openmpi+MKL数学库
1,安装gcc和gfortran编译器,以及其他依赖
sudo apt install gcc-c++
sudo apt install gcc gfortran gcc --version gfortran --versiongit
sudo apt install git -y2,安装openMPI
openMPI安装
3,安装MKL 库
- Intel MKl
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/79153e0f-74d7-45af-b8c2-258941adf58a/intel-onemkl-2025.0.0.940_offline.sh sudo sh ./intel-onemkl-2025.0.0.940_offline.sh(安装时,有sudo则安装路径为/opt/intel/oneapi/下;无sudo则安装路径位于/home/username/intel/oneapi/)
- 或者可以使用apt安装
sudo apt install intel-mkl -y4,下载解压qe安装包
在官网下载.gz安装包
download - Quantum Espresso
解压进入文件夹
tar -zxvf qe-7.3.1-ReleasePack.tar.gz cd qe-7.3.15,configure
开始配置,其中--prefix=/opt/qe-7.3制定安装路径;-enable-openmp为启用openMPI并行编译。
./configure --prefix=/opt/qe-7.3 -enable-openmp结果应该如下
需要检查两个事情:
- 检查BLAS和LAPACK库是否链接到MKL库,而非QE自带的两个
- 检查并行环境是否检测到,即 Parallel environment not detected
如果没有,则需要向./configure命令指明。
6,构建
configure 成功后运行
make all -j 16
构建QE可执行文件*.x
make结束后, ls ./bin 检查需要的 .x 文件是否都被构建
7,执行安装
sudo make install将安装到configure时的--prefix路径
oneapi(intel编译器)
https://blog.csdn.net/weixin_51602307/article/details/146241747?spm=1011.2415.3001.5331
添加环境
nano ~/.bashrc
export PATH=/opt/XXX/bin/:$PATH
独立模块安装
Wannier90
wannier90的编译是直接修改安装包内的make.inc文件,然后直接make完成的
编译完后的可执行文件wannier90.x和postw90.x直接在安装包路径下生成
下载解压
Wannier90源码:
https://github.com/wannier-developers/wannier90/releases/tag/v3.1.0
下载后解压进入文件夹
tar -zxvf wannier90-3.1.0.tar.gz
cd wannier90-3.1.0/
查看环境
激活intel编译器环境
source /opt/intel/oneapi/setvars.sh
确定oneAPI 环境是否被加载
which ifx
which mpiifx
which mpirun
检查mkl数学库路径
ls /opt/intel/oneapi/mkl/latest/lib/intel64
选择make.inc文件修改
查看make.inc模板
ls config/
拷贝合适的模板
例如对于Intel 编译器
cp config/make.inc.ifort make.inc
编辑 make.inc
nano make.inc
- 修改
F90 = ifort
为
FC = ifx - 修改
MPIF90=mpiifort
为
MPIF90=mpiifx - 修改
LIBDIR = /opt/intel/mkl/lib/intel64
为
LIBDIR = /opt/intel/oneapi/mkl/latest/lib/intel64 - 注释
LIBS = -L$(LIBDIR) -lmkl_core -lmkl_intel_lp64 -lmkl_sequential -lpthread
添加
LIBS = -mkl
最终make.inc如下
#===================================================== # For Linux with intel version 11/12 on 64bit machines #===================================================== FC = ifx COMMS=mpi MPIF90=mpiifx FCOPTS=-O2 LDOPTS=-O2 #======================================================== # Intel mkl libraries. Set LIBPATH if not in default path #======================================================== LIBDIR = /opt/intel/mkl/lib/intel64 #LIBS = -L$(LIBDIR) -lmkl_core -lmkl_intel_lp64 -lmkl_sequential -lpthread LIBS = -mkl #======================= # ATLAS Blas and LAPACK #======================= #LIBDIR = /usr/local/lib #LIBS = -L$(LIBDIR) -llapack -lf77blas -lcblas -latlasmake
make -j 32
如果之前进行make报错,修复错误后要进行重新make,需要清理上次make产生的文件:
make veryclean
然后才能进行
make
检查可执行文件
ls wannier90.x postw90.x
或者
./wannier90.x -v
将可执行文件放到系统变量路径
sudo cp wannier90.x /opt/qe-7.4.1/bin/
sudo cp postw90.x /opt/qe-7.4.1/bin/
EPW
参考:
安装q-e-6.6和EPW
上海交大超算平台用户手册-Quantum ESPRESSO
(解决经历)QE6.8安装wannier90、EPW报错
由于epw的计算需要用到wannier,因此编译EPW,需要先下载wannier90安装包!
从epw独立源码
网站:
epw各版本安装
EPW官网
下载解压
5.9版本
wget https://gitlab.com/epw/q-e/-/archive/EPW-5.9s/q-e-EPW-5.9s.tar.gz
6.0版本
https://gitlab.com/epw/q-e/-/archive/EPW-6.0/q-e-EPW-6.0.tar.gz
tar -zxvf q-e-EPW-6.0.tar.gz
cd q-e-EPW-6.0/
configure
./configure
编译 EPW
这一步也会编译 pwscf、phonon 和 wannier90
make all -j 16
或单独编译epw.x
make epw -j 16
编译完成后,可执行文件 epw.x 位于
EPW/bin 下
将其拷贝到包含在系统变量内的路径后即可在任意位置调用 epw.x进行计算
从QE自带
后来我发现包括qe74、75在内的版本,其实是带有epw的源码的,只是make all的时候会默认不编译epw.x
因此我们也可以在qe安装文件夹下完成 ./configure 后
进行
make epw
编译epw.x 可执行文件(耗时比较久,我这里用32线程make都用了十分钟)
make结束后,可执行文件位于
qe-7.5/EPW/bin/epw.x 和 qe-7.5/bin/epw.x