计算化学公社

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

[综合交流] 通过cpu内核绑定提高多任务运算效率

[复制链接 Copy URL]

5

帖子

1

威望

102

eV
积分
127

Level 2 能力者

遇到的问题:
1. 同时提交两个任务时运算速度减半;
2. 双路服务器使用全部核心效率反而弱于半数核心;
3. 提交任务后开始时计算正常,一段时间后运算效率以指数级下降;

原因:
未绑定cpu内核,不同任务争抢cpu资源。

解决方案:
如不想配置slurm等调度环境,可以使用 taskset 命令绑定任务所需内核。例如,对于双路128核心(64×2)的服务器来说,可以使用以下命令提交vasp任务:
  1. taskset -c 0-127 mpirun -n 32 -genv OMP_NUM_THREADS=4 vasp_std
复制代码
其中“taskset -c 0-127”表示使用第0到127号核心进行计算,“mpirun -n 32 -genv OMP_NUM_THREADS=4 vasp_std” 为常规的任务提交命令。
如要提交两个任务可以使用以下两条命令:
  1. taskset -c 0-63 mpirun -n 16 -genv OMP_NUM_THREADS=4 vasp_std
复制代码
  1. taskset -c 64-127 mpirun -n 16 -genv OMP_NUM_THREADS=4 vasp_std
复制代码
对于其他软件只需修改相应的命令即可。例如对于cp2k:
  1. taskset -c 0-63 mpirun -n 16 -genv OMP_NUM_THREADS=4 cp2k.psmp -i cp2k.inp 1>$cp2k/cp2k.out 2>$cp2k/cp2k.err
复制代码


其他解决方案:

如果基于OpenMPI,可以参照sob老师的帖子“通过设置CPU内核绑定降低ORCA同时做多任务的耗时“。
终极的解决方案——配置slurm调度环境。


评分 Rate

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

查看全部评分 View all ratings

17

帖子

0

威望

195

eV
积分
212

Level 3 能力者

2#
发表于 Post on 2025-5-28 23:26:12 | 只看该作者 Only view this author
要怎么配置slurm呢

2407

帖子

1

威望

5948

eV
积分
8375

Level 6 (一方通行)

3#
发表于 Post on 2025-5-29 09:11:05 | 只看该作者 Only view this author
zxq 发表于 2025-5-28 23:26
要怎么配置slurm呢

有很多教程, 可以follow试试.... 自己都收搜索找找....

或者鄙人有一个自动工具, 可以做到“一键配置”, 大概5分钟到十来分钟(取决于网速), 不过工具套件需付费....

建议自己找各种教程, 多看几个, 综合试试, 就搞定了, 无非是花点时间.
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

本版积分规则 Credits rule

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

GMT+8, 2025-8-12 23:02 , Processed in 0.157839 second(s), 22 queries , Gzip On.

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