计算化学公社

标题: 求助:CP2K 2025.1的OpenMP并行模式不起作用 [打印本页]

作者
Author:
stishovite    时间: 2025-6-16 11:34
标题: 求助:CP2K 2025.1的OpenMP并行模式不起作用
本帖最后由 stishovite 于 2025-6-16 14:39 编辑

这两天更新到了cp2k 2025.1,编译过程一切顺利,但MPI+OpenMP的运行模式中,OpenMP选项不起作用了。
例如96物理核单路工作站,用mpirun -np 48 -x OMP_NUM_THREADS=2 cp2k.psmp h2o.inp | tee h2o.out,本来可以调用全部的96核,但现在只能调用48核。

输出信息显示,cp2k.psmp识别出了MPI+OpenMP的混合模式,但仍然只调用了一半的核心数。
  1. GLOBAL| Total number of message passing processes 48
  2. GLOBAL| Number of threads for this process                                    2
复制代码


目前,我增加了--cpus-per-proc 参数(告诉 mpirun:为每一个MPI进程都预留2个CPU核心。),暂时可以调用全部的物理核。
  1. mpirun -np 48 --cpus-per-proc 2 -x OMP_NUM_THREADS=2 cp2k.psmp h2o.inp | tee h2o.out
复制代码


但感觉很别扭,不如原来直接用-x OMP_NUM_THREADS=2方便,也不清楚对计算效率有什么影响。


因此,请问大家这个奇怪问题可能的原因及解决办法还有哪些?


补充:OpenMPI是通过cp2k 2025.1 toolchain编译的5.0.6版本。





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