slurm与pbs对比
[liupei@cg 2zk]$ cat sub.slurm
#!/bin/bash
#SBATCH -J gf1cnn #作业名是 gf1cnn
#SBATCH -p v3_ib #提交到 v3_ib 分区
#SBATCH -N 1 #使用一个节点
#SBATCH -n 1 #cpu数
#SBATCH --cpus-per-task 24 #每个进程占用24个cpu核心
#SBATCH --gres=gpu:1 #申请1块gpu
#SBATCH -o gf1cnn.out #将屏幕输出结果保存到当前文件夹的 gf1cnn.out
source activate cnn #切换python环境
./run_bass.sh 13 #执行我的 ./run_bass.sh 程序
slurm并行超算
查看模块
# 载入远程复制 module
module load papp_cloud/2.6.18/2.6.18-cjj
# 载入预装的 python module
module load anaconda/3-Python3.6.5-fgl
# 查看可用 module
module avail 或 module avail anaconda
# 查看分区
sinfo
并行的slurm脚本
#!/bin/bash
#SBATCH -p v3_ib
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -c 24
#srun matlab <testCascade.m
matlab -nodisplay < matlab_parfor.m
参考文献:CHICAGO
slurm作业操作
说明 | SLURM | PBS |
---|---|---|
提交作业脚本 | sbatch run.slurm | qsub run.pbs |
查看作业状态 | squeue | qstat |
追踪作业 | scontrol show job 1234 | |
取消作业 | scancel 1234 | qdel 1234 |
slurm作业/节点查询
- 查看分区信息
scontrol show partition
scontrol show partition debug
- 查看节点信息
scontrol show node
scontrol show node comput1
- 查看作业信息
scontrol show job 作业ID
scontrol show job 15
- 删除作业
scancel 作业ID
scancel 15
pbs系统命令
北京大学的 HPC 教程,REF
pbs常用命令
qsub a.pbs # 提交作业a
qstat -an # 列出队列中所有作业及其分配的节点
qstat -q # 查看所有队列
qstat -Q # 列出队列的一些限制信息
qstat -Qf bdog # 列粗指定队列的所有信息
pestat # 查看当前所有节点的占用状态
# excl 所有cpu已被占用
# busy cpu已接近满负荷运行
# free 部分或全部cpu空闲
# offl 管理员手动指定离线状态
查看当前所有任务的运行状态
qstat # 可以查看当前所有任务的运行状态
ch_cumtlp3@mgr:~> qstat
Job ID Name User Time Use S Queue
---------- -------- --------- -------------------
375817.mgr 600470 ch_cumtlp3 155:47:3 R l
作业 375817 在节点 mgr 上运行,作业名称 600470
pbs脚本配置
-N name:作业名,限15 个字符,首字符为字母,无空格
-o path:重定向标准输出到path
-l resource_list:定义资源列表。
nodes=N:ppn=M:请求N个结点,每个结点M个处理器。
mem =N[K|M|G][B|W]:请求N大小的内存。
cput =N:请求N秒CPU时间;N也可以是hh:mm:ss形式。
-m mail_options:给用户发信;a(作业abort), b(作业开始运行发信);e(作业结束时发信)。若无此选项,默认为a。
-M user_list:定义发给哪些用户,有关此作业的mail
pbs作业例子
#!/bin/sh
#PBS -N rfrk
#PBS -j oe # out put file
#PBS -l nodes=1:ppn=32
#PBS -q l
#PBS -m be
#PBS -M cumtlp@qq.com
cd $PBS_O_WORKDIR
/public3/home/ch_cumtlp3/installed/app/matlab/r2019b/bin/matlab -nodesktop -nosplash -nojvm \
-r "addpath('pcode');main('roi_pixel','rfrk',{'r',{[50,10,500]}}); exit;"
/public3/apps/matlab-2016b/bin/matlab -nosplash -nodesktop -nojvm \
-r "addpath('../../code/'); pbs_mlc(1:4,0.7); exit;"
pbs运行脚本
qsub test.pbs:提交作业
pbsnodes -l free:以行的行式列出空闲的节点
qstat -q:查看所有队列状态
qstat:查看作业运行状态
状态说明: E:退出; Q:排队;H:挂起; R:运行; C:结束
qstat -an:列出队列中所有作业及其分配的节点
qstat -an 93:显示作业运行在哪些节点上
qdel 93:删除自己的作业