计算化学公社

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

[Quantum ESPRESSO] 使用新版Intel oneMKL在编译和测试QE时出现的问题

[复制链接 Copy URL]

6

帖子

0

威望

158

eV
积分
164

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 UW_0728. 于 2025-3-23 18:58 编辑

本人编译QE7.4.1版本,预先安装有Open MPI 5.0.7版本,之前安装CP2K也装有openblas等库。按照卢老师的帖子“Quantum ESPRESSO在Linux下的安装方法 - 第一性原理 (First Principle) - 计算化学公社”安装时,第二步是安装Intel MKL(“为了让QE能利用效率很高的MKL数学库来提升计算速度,应当在编译QE前先把MKL装上”),而目前Intel MKL在官网上已经更为Intel oneMKL,可下载的最新版本为2025.0.1,目前已安装好且配置好环境变量(source /home/uw/intel/oneapi/mkl/2025.0/env/vars.sh)。
接下来到QE源代码文件夹里执行“./configure”指令,出现以下信息:
checking for library containing dgemm... no
MKL not found
in /home/uw/intel/oneapi/mkl/2025.0/lib/intel64: checking for library containing dgemm... no
MKL not found
......
最后的配置结果为
The following libraries have been found:
  BLAS_LIBS= -lopenblas
  LAPACK_LIBS=-L/home/uw/OpenMPI/lib  -lopenblas
  FFT_LIBS= -lfftw3
  MPI_LIBS= -lmpi
并没有调用MKL库。
后来,调整了OpenMPI的安装路径到/opt/下,并换用了Intel® Fortran Essentials(包括oneMKL和ifx两部分,考虑到intel处理器下ifx可能比gfortran更快;安装在/opt/下),发现configure时可以识别MKL库(后来发现是偶然原因):
原先有MKL not found提示的地方显示为:
checking for library containing dgemm... -lmkl_gf_lp64
并显示如下结果:
The following libraries have been found:
  BLAS_LIBS=  -lmkl_gf_lp64  -lmkl_sequential -lmkl_core
  LAPACK_LIBS=
  SCALAPACK_LIBS=-lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64
  FFT_LIBS=
接下来的编译非常顺利。然而,在测试时,虽然任务能顺利结束,但JOB DONE. 后面还会紧接一行:
Note: The following floating-point exceptions are signalling: IEEE_DIVIDE_BY_ZERO
请问这种问题是哪一个环节出现的?可以在任务运行成功的前提下忽略吗?谢谢解答!





112

帖子

2

威望

1516

eV
积分
1668

Level 5 (御坂)

2#
发表于 Post on 2025-3-23 19:26:18 | 只看该作者 Only view this author
看一下环境变量MKLROOT有没有赋值

6

帖子

0

威望

158

eV
积分
164

Level 3 能力者

3#
 楼主 Author| 发表于 Post on 2025-3-23 19:33:21 | 只看该作者 Only view this author
rabbitkiller 发表于 2025-3-23 19:26
看一下环境变量MKLROOT有没有赋值

有的,export MKLROOT=/opt/intel/oneapi/mkl/2025.0

6

帖子

0

威望

158

eV
积分
164

Level 3 能力者

4#
 楼主 Author| 发表于 Post on 2025-3-23 19:35:56 | 只看该作者 Only view this author
UW_0728. 发表于 2025-3-23 19:33
有的,export MKLROOT=/opt/intel/oneapi/mkl/2025.0

但是按理来说有了source vars.sh这样的命令应该不需要这个

112

帖子

2

威望

1516

eV
积分
1668

Level 5 (御坂)

5#
发表于 Post on 2025-3-23 19:43:50 | 只看该作者 Only view this author
UW_0728. 发表于 2025-3-23 19:35
但是按理来说有了source vars.sh这样的命令应该不需要这个

感觉是编译器的问题。以前用gcc编译过qe,也有过类似经历,就是计算结束后出现一堆警告信息……我就忽略它们了

203

帖子

0

威望

1061

eV
积分
1264

Level 4 (黑子)

6#
发表于 Post on 2025-4-17 22:02:37 | 只看该作者 Only view this author
rabbitkiller 发表于 2025-3-23 19:43
感觉是编译器的问题。以前用gcc编译过qe,也有过类似经历,就是计算结束后出现一堆警告信息……我就忽略 ...

这个IEEE_DIVIDE_BY_ZERO挺致命的,会造成部分计算结果出现较达的数值浮动。

本版积分规则 Credits rule

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

GMT+8, 2025-8-15 01:59 , Processed in 0.152087 second(s), 25 queries , Gzip On.

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