sbatch
提交一个批脚本到作业调度系统中。
使用方式为sbatch [OPTIONS(0)...] [ : [OPTIONS(n)...]] script(0) [args(0)...]
常见参数
--help | 显示sbatch命令的使用帮助信息; |
-A | 指定计费账户; |
-D, --chdir= | 指定工作目录; |
--get-user-env | 获取用户的环境变量; |
--gres=
| 使用gpu这类资源,如申请两块gpu则--gres=gpu:2 |
-J, --job-name= | 指定该作业的作业名; |
--mail-type= | 指定状态发生时,发送邮件通知,有效种类为(NONE, BEGIN, END, FAIL, REQUEUE, ALL); |
--mail-user= | 发送给对应邮箱; |
-n, --ntasks= | sbatch并不会执行任务,当需要申请相应的资源来运行脚本,默认情况下一个任务一个核心,--cpus-per-task参数可以修改该默认值; |
-c, --cpus-per-task= | 每个任务所需要的核心数,默认为1; |
--ntasks-per-node= | 每个节点的任务数,--ntasks参数的优先级高于该参数,如果使用--ntasks这个参数,那么将会变为每个节点最多运行的任务数; |
-o, --output= | 输出文件,作业脚本中的输出将会输出到该文件; |
-p, --partition= | 将作业提交到对应分区; |
-q, --qos= | 指定QOS; |
-t, --time= | 设置限定时间; |
例子
1、提交一个作业,该作业提交到C032M0128G的分区上,提交的优先级为low,共使用两个节点,每个节点4个核心,作业名为myFirstJob,以下为脚本的内容,脚本文件名为job.sh。
#!/bin/bash #SBATCH -o job.%j.out #SBATCH --partition=C032M0128G #SBATCH --qos=low #SBATCH -A hpcxxxxxx #SBATCH -J myFirstJob #SBATCH --get-user-env #SBATCH --nodes=2 #SBATCH --ntasks-per-node=4 #SBATCH --mail-type=end #SBATCH --mail-user=xxxx@pku.edu.cn #SBATCH --time=120:00:00 srun hostname -s | sort -n >slurm.hosts module load intel/2017.1 mpiicc -o hellompi.o hellompi.c mpirun -n 8 -machinefile slurm.hosts ./hellompi.o rm -rf slurm.hosts |
提交作业
返回