本文章是我使用slurm系统时常用的一些命令,记录于此,方便查询
查看可用节点信息
查看可用节点信息可使用sinfo命令,命令详细参数如下
1 | Usage: sinfo [OPTIONS] |
其中常用的有-p
和-q
,分别代表查看特定分区和特定优先级。
查询结果中PARTITION 表示分区,NODES 表示结点数,NODELIST 为结点列表, STATE 表示结点运行状态。其中,idle 表示结点处于空闲状态,alloc 表示结 点已经分配了一个或多个作业。
提交作业
使用srun命令
srun命令使用示例:
1 | srun -N 2 -n 24 -p debug -q debug programname < inputfile |
其中N表示申请节点数,n表示总进程数,c表示每个核分配的进程数,q表示任务分区(不同任务分区可运算时间不一样),q表示qos任务优先级,inputfile表示屏幕输出保存的文件(不指定也可)。
使用批处理作业命令sbatch
先创建一个sh脚本文件,然后写入
1 | !/bin/bash |
具体参数如下
作用 | 命令 |
---|---|
指定任务名称 | #SBATCH -J name |
指定队列/分区 | #SBATCH -p cpu |
指定 QoS | #SBATCH –qos=debug或者#SBATCH -q debug |
最长运行时间 | #SBATCH -t 5:00 |
指定节点数量 | #SBATCH -N 1 |
指定每个CPU 核心进程数 | #SBATCH –cpus-per-task=4 |
指定每个节点进程数 | #SBATCH –ntasks-per-node=24 |
输出文件 | #SBATCH -o test.out |
查看作业状态
使用squeue
命令
取消作业
使用scancel
命令,示例:
1 | scancel [jobid] |
查看之前作业
使用sacct
命令
v1.5.2