官方文档:https://slurm.schedmd.com/
用户命令cheatsheet:https://slurm.schedmd.com/pdfs/summary.pdf
占用GPU
salloc -n 8 -N 1 --gres=gpu:8 --partition=matrix1
-n
CPU数
-N
节点数
-gres=gpu:8
8个GPU
--partition=matrix1
在集群1网址:yii666.com
释放占用的GPU
ctrl+D
启动批处理脚本
sbatch
查看任务队列
squeue文章来源地址:https://www.yii666.com/article/758315.html
一般squeue | grep xxx(查看本集群的等待队列时一般grep matrix)
几列依次是:文章地址https://www.yii666.com/article/758315.html
任务id、集群id、用户权限、用户名、任务状态(R-running,PD-padding),任务已经运行的时间,占用节点数,分配的节点的ip(如果尚未分配节点则显示任务优先级)
杀死任务
scancel
设置正常输出
--output
设置错误输出
--error
脚本编写:
#!/bin/bash
###SBATCH参数以#开头,非注释! #SBATCH --job-name=xxxx
###作业名称 #SBATCH --nodes=
###使用节点数量 #SBATCH --ntasks=
###总的进程数(CPU核数) #SBATCH --ntasks-per-node=
###每个节点的进程数,1个节点此项无需指定 #SBATCH --gres=gpu:
###每个节点使用的GPU数量,CPU作业此项此项无需指定 ##SBATCH --mem=10G
###申请预留内存大小,可选项 #SBATCH --partition=matrix1
###使用的分区,目前有n个集群分区 ##SBATCH --workdir=/share/admin
###作业的工作目录,输出log在此路径
###此路径必须是NFS共享目录 #SBATCH --output=%j.out
###作业错误输出文件,%j代表作业ID #SBATCH --error=%j.err
###作业正确输出文件 ##SBATCH --begin=:
###作业开始执行时间,默认立即执行,可选项 ##SBATCH --deadline=:
###作业强制终止时间,可选项 ##SBATCH --mail-type=end
###邮件通知类型start/end/failed,end表示作业结束时邮件通知,可选项 ##SBATCH --mail-user=xx@xx
###邮件通知邮箱,可选项 module load xxx
###加载环境 echo -e "JOB NAME:$SLURM_JOB_NAME,Job ID:$SLURM_JOBID,Allocate Nodes:$SLURM_JOB_NODELIST"
###显示作业名称,作业ID,使用节点 mpirun caffe train -solver ./solver.prototxt -gpu all -weights ./model1.bin,./model2.bin
###训练
##mpirun caffe train -solver ./solver.prototxt -gpu all -snapshot ./_iter_3000.solverstate
###finetune
###执行的程序,MPI作业,直接使用mpirun #srun ./test
###执行的程序,普通作业,使用srun