计算化学公社

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

[CP2K] 为什么通过PBS作业管理系统提交的cp2k-2026.1作业存在CPU各干各的情况?

[复制链接 Copy URL]

35

帖子

0

威望

687

eV
积分
722

Level 4 (黑子)

本帖最后由 13799725819 于 2026-4-26 23:57 编辑

我在Ubuntu 18.04.6系统上安装了cp2k-2026.1程序,安装过程参考了Sob老师的网页(sobereva.com/586),也自动安装上了OpenMPI程序;
然后我使用PBS作业管理系统进行cp2k作业的投递,使用了12个物理核,PBS脚本见附件;
输入文件下载自CP2K官网(howto:static_calculation [CP2K Open Source Molecular Dynamics ],见附件);
该作业可以进行计算,但是我发现主输出文件(.out)中12个物理核在做相同的事情,并重复输出数据(见附件//图片)。

请问,问题出在了什么地方,以及怎么解决呢?谢谢!


补充:
在投递作业时,不source setvars.sh会报错(见附件)。

202604262250337314..png (95.3 KB, 下载次数 Times of downloads: 2)

来自主输出文件

来自主输出文件

屏幕截图 2026-04-26 235314.png (70.14 KB, 下载次数 Times of downloads: 2)

投递作业时不source setvars.sh时的报错信息

投递作业时不source setvars.sh时的报错信息

GTH_POTENTIALS

106.69 KB, 下载次数 Times of downloads: 0

赝势

BASIS_SET

189.12 KB, 下载次数 Times of downloads: 0

基组

submit_cp2k-2026.1.pbs

964 Bytes, 下载次数 Times of downloads: 5

PBS作业投递脚本

Si_bulk8.inp

1.47 KB, 下载次数 Times of downloads: 0

主输入

Si_bulk8.out

295.73 KB, 下载次数 Times of downloads: 1

主输出

1330

帖子

6

威望

2824

eV
积分
4274

Level 6 (一方通行)

傻傻的木瓜

2#
发表于 Post on 前天 23:17 | 只看该作者 Only view this author
  1. ## export cp2k-2026.1 path
  2. source /software/cp2k/cp2k-2026.1/tools/toolchain/install/setup
  3. export PATH=$PATH:/software/cp2k/cp2k-2026.1/exe/bin
  4. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/software/cp2k/cp2k-2026.1/exe/lib

  5. ## export intel MKL path
  6. source /opt/intel/oneapi/setvars.sh
复制代码
/opt/intel/oneapi/setvars.sh里面是不是除了MKL以外还有Intel OneAPI里编译器、MPI等相关的设置,在安装工具链及编译CP2K本体之前有没有source这个setvars.sh?

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
13799725819 + 5 赞!

查看全部评分 View all ratings

√546=23.36664289109

35

帖子

0

威望

687

eV
积分
722

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 前天 23:29 | 只看该作者 Only view this author
本帖最后由 13799725819 于 2026-4-26 23:43 编辑
Uus/pMeC6H4-/キ 发表于 2026-4-26 23:17
/opt/intel/oneapi/setvars.sh里面是不是除了MKL以外还有Intel OneAPI里编译器、MPI等相关的设置,在安装工 ...

系统上很久以前安装的Intel MKL,会有Intel oneAPI DPC++/C++ Compiler & Intel C++ Compiler Classic等的安装,在setvars.sh中没有搜索到“MPI”字段。
在安装工具链及编译CP2K本体之前并没有source这个setvars.sh,只是在投递作业时提示“找不到intel MKL”的报错,然后在PBS脚本中才加入的这个source语句,就不再出现“找不到intel MKL的报错”了。

1330

帖子

6

威望

2824

eV
积分
4274

Level 6 (一方通行)

傻傻的木瓜

4#
发表于 Post on 前天 23:43 | 只看该作者 Only view this author
本帖最后由 Uus/pMeC6H4-/キ 于 2026-4-27 00:24 编辑
13799725819 发表于 2026-4-26 23:29
安装Intel MKL时,有Intel oneAPI DPC++/C++ Compiler & Intel C++ Compiler Classic等的安装。
在安装 ...

哪个程序在什么地方报错找不到Intel MKL,可以贴出具体的提示信息吗?按理说一开始就没有设置$MKLROOT环境变量的话toolchain不会去找MKL库。如果服务器没有提供module之类的专业环境管理工具,你也不完全清楚怎么样只让Intel MKL生效而不连带着启动Intel编译器、MPI,而且toolchain编译时就是用的如GNU编译器+OpenMPI等其他环境的话,完全没有用MKL安装工具链和CP2K的必要,不应该在提交作业脚本source这个setvars.sh。

我说的“有没有source”不止包括手动在命令行输入这个source指令,也包括~/.bashrc(用户)或/etc/profile(全局)等一登录系统就默认执行的命令。并且留心服务器可能有用户登录节点和作业计算节点的区别。

编辑:如果保存有toolchain的输出信息的话,请检查有没有Finding MKL from system paths的内容,有的话MKLROOT是哪个目录。
√546=23.36664289109

35

帖子

0

威望

687

eV
积分
722

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on yesterday 19:17 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-4-26 23:17
/opt/intel/oneapi/setvars.sh里面是不是除了MKL以外还有Intel OneAPI里编译器、MPI等相关的设置,在安装工 ...

在source setvars.sh时,会提示
:: initializing oneAPI environment ...
   -bash: BASH_VERSION = 4.4.20(1)-release
   args: Using "$@" for setvars.sh arguments:
:: compiler -- latest
:: debugger -- latest
:: mkl -- latest
:: mpi -- latest
:: tbb -- latest
:: oneAPI environment initialized ::

这会更新MPI优先路径,此时$ mpiexec -V,会显示
Intel(R) MPI Library for Linux* OS, Version 2021.5 Build 20211102 (id: 9279b7d62)
Copyright 2003-2021, Intel Corporation.

我改了一下PBS脚本中的路径配置顺序
## export intel MKL path
source /opt/intel/oneapi/setvars.sh

## export cp2k-2026.1 path
source /software/cp2k/cp2k-2026.1/tools/toolchain/install/setup
export PATH=$PATH:/software/cp2k/cp2k-2026.1/exe/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/software/cp2k/cp2k-2026.1/exe/lib

此时会使用toolchain中新安装的MPI,也就可以进行并行计算了。谢谢!

199

帖子

1

威望

673

eV
积分
892

Level 4 (黑子)

6#
发表于 Post on yesterday 20:42 | 只看该作者 Only view this author
本帖最后由 UW_0728. 于 2026-4-27 20:49 编辑

把source /opt/intel/oneapi/setvars.sh改为source /opt/intel/oneapi/mkl/latest/env/vars.sh即可,这样就能保证只加载Intel MKL的环境而不加载Intel编译器和Intel MPI的环境了。

顺带一提,关于不同MPI混用的问题,可以期待一下最新的MPI-5.0标准,这里面包括了对ABI的规范,要求遵循该标准的MPI程序能够实现:MPI程序A编译出来的可执行文件能够无障碍地使用MPI程序B来正确并行运行。目前MPICH 5.0.x已经全面采用了MPI-5.0标准,OpenMPI预计会在未来的6.0.x逐步引入这一ABI规范,IntelMPI应该也会在不久跟上。

评分 Rate

参与人数
Participants 1
eV +1 收起 理由
Reason
Uus/pMeC6H4-/キ + 1

查看全部评分 View all ratings

Failed to load the content due to unknown reasons.

本版积分规则 Credits rule

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

GMT+8, 2026-4-28 00:38 , Processed in 0.178178 second(s), 25 queries , Gzip On.

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