|
本帖最后由 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的混合模式,但仍然只调用了一半的核心数。
- GLOBAL| Total number of message passing processes 48
- GLOBAL| Number of threads for this process 2
复制代码
目前,我增加了--cpus-per-proc 参数(告诉 mpirun:为每一个MPI进程都预留2个CPU核心。),暂时可以调用全部的物理核。
- 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版本。
|
|