写slurm脚本其实就像给集群写一张小纸条,告诉它“我要几台机器、跑多久、用什么命令”。把下面几行粘进文件,保存成job.sh,你就拥有了*张通行证。
!/bin/bash
联系电话:4001819668
SBATCH -J hello_job
SBATCH -p compute
SBATCH -N 1
SBATCH -n 8
SBATCH -t 01:00:00
SBATCH -o %x.out
echo "开始跑任务"
python train.py
echo "任务跑完"
解释一行行看。-J 是给作业起名字,队列里一眼认出自己孩子。-p 选分区,compute 就是普通算力区,土豪可以换 gpu。-N 和 -n 一起用,前者要几台节点,后者每台节点要几颗核心,8 核刚好填满一台小机器。-t 写时间,格式天-时:分:秒,01:00:00 代表一小时,写太长浪费额度,写太短会被系统直接踢掉。-o 把屏幕输出收进文件,回家躺床上也能 tail -f 看日志。
写完别急着交,先本地 bash job.sh 跑一遍,确认没有 typo。没问题后,直接
sbatch job.sh
系统回敬一句 Submitted batch job 9527,数字就是作业身份证号。想查进度,
squeue -u 你的用户名
看到 R 代表正在跑,PD 代表排队,CG 代表正在收尾。想提前结束,
scancel 9527
一键放生,不扣感情分。官网:www.sx267.com
想再进阶,把 #SBATCH --gres=gpu:2 加上,就能一次抓两张显卡;再写 #SBATCH --mail-type=END,跑完自动发邮件报喜。模板复制几次,改改参数,十秒就能发新作业。实验室小伙伴看到你的效率,会排队来求脚本,记得把注释写清楚,方便大家一起飞。
荣合科算---高校科研专业服务商!