计算化学公社

标题: 求助:slurm的一个节点如何运行多个作业 [打印本页]

作者
Author:
lilf    时间: 2024-2-23 09:42
标题: 求助:slurm的一个节点如何运行多个作业
在一台64核的服务器安装了slurm队列软件,一个作业设置为16核,但是只能运行一个作业,不能运行4个作业。请问该如何设置一下

作者
Author:
abin    时间: 2024-2-23 10:55
--mem

scontrol show job ID 查看资源....
作者
Author:
Kamistry    时间: 2024-2-23 15:40
确保slurm.conf设置是SelectType=select/cons_tres之类而不是select/linear

作者
Author:
wxyhgk    时间: 2024-2-23 16:18
本帖最后由 wxyhgk 于 2024-2-23 16:21 编辑

这里用 Gaussian 16 为计算了例子说明:
  1. #!/bin/bash
  2. # ====== SLURM 说明 ========
  3. # 设定作业名称
  4. #SBATCH --job-name=gaussian_multi

  5. # 指定作业的输出文件名,%x代表作业名称,%j代表作业ID
  6. #SBATCH --output=%x_%j.out

  7. # 请求在一个节点上运行作业
  8. #SBATCH --nodes=1

  9. # 请求总共12个核心,根据你的需求调整此数值
  10. #SBATCH --ntasks=12

  11. # 指定作业运行的分区,需要根据你的集群情况替换为实际的分区名
  12. #SBATCH --partition=your_partition_name

  13. # 请求作业最多运行24小时,超时作业将被SLURM终止
  14. #SBATCH --time=24:00:00

  15. # ====== 加载Gaussian模块 =======
  16. module load gaussian/16

  17. # ====== 使用srun命令并行运行Gaussian作业 ======
  18. # 给 1.gjf,2.gjf,3.gjf 分别设定了 3 ,4,5 个核做,他们同时运行
  19. # --exclusive确保每个作业独占分配给它的核心
  20. # -n后面跟着的数字指定每个作业使用的核心数
  21. # '&'允许命令在后台运行,从而实现并行执行
  22. srun --exclusive -n 3 g16 < 1.gjf > 1.log &
  23. srun --exclusive -n 4 g16 < 2.gjf > 2.log &
  24. srun --exclusive -n 5 g16 < 3.gjf > 3.log &

  25. # wait命令用于等待所有后台作业完成
  26. wait
复制代码

作者
Author:
lilf    时间: 2024-2-23 16:47
wxyhgk 发表于 2024-2-23 16:18
这里用 Gaussian 16 为计算了例子说明:

可以每个作业都单独用脚本分别提交一次的方式去做吗?
作者
Author:
lilf    时间: 2024-2-23 16:47
Kamistry 发表于 2024-2-23 15:40
确保slurm.conf设置是SelectType=select/cons_tres之类而不是select/linear

更改了之后,也不管用
作者
Author:
wxyhgk    时间: 2024-2-23 16:49
lilf 发表于 2024-2-23 16:47
可以每个作业都单独用脚本分别提交一次的方式去做吗?

没懂你什么意思,能不能举例子说明?具体的例子,不要说那种模糊的
作者
Author:
Kamistry    时间: 2024-2-23 18:53
lilf 发表于 2024-2-23 16:47
更改了之后,也不管用

更改之后重启slurmctld和slurmd了吗
作者
Author:
lilf    时间: 2024-2-25 16:24
Kamistry 发表于 2024-2-23 18:53
更改之后重启slurmctld和slurmd了吗

已经解决了,改了
SelectType=select/cons_tres
SelectTypeParameters=CR_CPU
作者
Author:
lilf    时间: 2024-2-25 16:25
lilf 发表于 2024-2-23 16:47
更改了之后,也不管用

已经解决了,更改这里就行了
SelectType=select/cons_tres
SelectTypeParameters=CR_CPU
作者
Author:
Kamistry    时间: 2024-2-25 20:19
本帖最后由 Kamistry 于 2024-2-25 20:22 编辑
lilf 发表于 2024-2-25 16:24
已经解决了,改了
SelectType=select/cons_tres
SelectTypeParameters=CR_CPU

后面这行不是必须的,不如默认的CR_Core,如果要改也应该改成CR_Core_Memory同时分配内存。参见https://slurm.schedmd.com/cons_tres.html。说明我之前说解决方法的时候你没有试
作者
Author:
lilf    时间: 2024-2-26 14:24
Kamistry 发表于 2024-2-25 20:19
后面这行不是必须的,不如默认的CR_Core,如果要改也应该改成CR_Core_Memory同时分配内存。参见https://s ...

我把SelectTypeParameters=CR_CPU删掉后,又不可以算多个任务了,应该这个是必须的
作者
Author:
九月九    时间: 2024-2-26 14:58
lilf 发表于 2024-2-26 14:24
我把SelectTypeParameters=CR_CPU删掉后,又不可以算多个任务了,应该这个是必须的

分成4个作业提交可能会严重每个作业的计算效率
作者
Author:
lilf    时间: 2024-2-26 17:02
九月九 发表于 2024-2-26 14:58
分成4个作业提交可能会严重每个作业的计算效率

机器的核数有64个
作者
Author:
Kamistry    时间: 2024-2-27 09:46
本帖最后由 Kamistry 于 2024-2-27 09:50 编辑
lilf 发表于 2024-2-26 14:24
我把SelectTypeParameters=CR_CPU删掉后,又不可以算多个任务了,应该这个是必须的

看看https://slurm.schedmd.com/configurator.easy.html,官网给出的设置一样没有这行。而且我们的双路9654没有加这行,完全可以多个任务一起跑。

刚才找了一台2620v4,核数少的情况一样不需要这一行就能跑多个任务。

作者
Author:
lilf    时间: 2024-2-27 17:02
Kamistry 发表于 2024-2-27 09:46
看看https://slurm.schedmd.com/configurator.easy.html,官网给出的设置一样没有这行。而且我们的双路96 ...

您能发我一个配置文件吗,我再试试看
作者
Author:
Kamistry    时间: 2024-2-28 22:20
lilf 发表于 2024-2-27 17:02
您能发我一个配置文件吗,我再试试看

这个网站就是官方的配置生成
作者
Author:
lilf    时间: 2024-2-29 10:16
Kamistry 发表于 2024-2-28 22:20
这个网站就是官方的配置生成

谢谢
作者
Author:
logzzz    时间: 2024-3-25 16:44
可以根据你编译软件用的不同的编译器设置语言绑定到具体的CPU上,可以实现高效并行。举个简单的例子,比如intelmpi可以用 -genv I_MPI_PIN_PROCESSOR_LIST 0-31 ,实现绑定。openmpi可以参考社长写的提升orca并行效率的帖子。http://sobereva.com/553  
作者
Author:
kail    时间: 2024-4-12 17:28
我也遇到这个问题,看了这个帖子,添加 SelectTypeParameters=CR_CPU 后,发现计算速度变慢了。查了官方文档,原来 SelectType=select/cons_tres 默认的配置是CR_Core_Memory,在该选项下,需要配置每个CPU可以使用的内存,添加 DefMemPerCPU=xxxx 之后,就可以运行多个任务了,速度也没有减慢。
作者
Author:
thor    时间: 2024-5-23 14:00
lilf 发表于 2024-2-25 16:25
已经解决了,更改这里就行了
SelectType=select/cons_tres
SelectTypeParameters=CR_CPU

更改了之后还是没用,奇怪
作者
Author:
streamlet    时间: 2024-7-27 06:27
kail 发表于 2024-4-12 17:28
我也遇到这个问题,看了这个帖子,添加 SelectTypeParameters=CR_CPU 后,发现计算速度变慢了。查了官方文 ...

您好,请问这里的每个CPU是指的核心数吗?我是双路两个CPU,每个48核心,开了超线程,请问这个数字用2还是96还是192啊?




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