以下以sbatch提交方式为例
我们在计算过程中运行hybrid-pro-thr命令,申请资源2个节点,每个节点运行一个进程,每个进程运行36核心,那么使用sbatch 提交命令(脚本名为hybrid-pro-thr.sh):
#!/bin/bash
#SBATCH -J hybrid-pro-thr
#SBATCH -o job.%j.out
#SBATCH -p q_cn
#SBATCH -N 2
#SBATCH --ntasks-per-node=1
#SBATCH -c 36
module load anaconda3/4.8.2 #module加载下需要的软件
srun -n 2 ./hybrid-pro-thr
编辑完脚本下面就可以直接提交到计算节点上运行了
sbatch hybrid-pro-thr.sh
例子中涉及的参数:
-J hybrid-pro-thr # hybrid-pro-thr为提交作业的名称,自定义
-p q_cn #作业提交的指定分区为q_cn队列;
-o job.%j.out #脚本执行的输出将被保存在job.%j.out文件里,%j表示作业号;
--ntasks-per-node=1 #每个节点上运行一个任务(进程)
-c 36 #每个进程使用36个核心
-N 2 #2个节点
常见提交参数:
--help # 显示帮助信息;
-D, --chdir= # 指定工作目录;
--get-user-env # 获取当前的环境变量;
--gres= # 使用gpu卡时需要需要的参数 如申请1块gpu --gres=gpu:1
-J, --job-name=# 指定该作业的作业名;
--mail-type= # 指定状态发生时,发送邮件通知,有效种类为(NONE, BEGIN, END, FAIL, REQUEUE, ALL);
--mail-user= # 发送给指定邮箱;
-n, --ntasks= #默认情况下一个任务一个核心;
-c, --cpus-per-task=# 每个任务所需要的核心数,默认为1;
--ntasks-per-node= # 每个节点的任务数,--ntasks参数的优先级高于该参数,如果使用--ntasks这个参数,那么将会变为每个节点最多运行的任务数;
-o, --output= # 输出文件,作业脚本中的输出将会输出到该文件;
-p, --partition= # 将作业提交到对应分区;
-t, --time= # 允许作业运行的最大时间,目前集群默认时间为7天
-w, --nodelist= # 指定申请的节点;
-x, --exclude= # 排除指定的节点;
--mem-per-cpu= #每个核心分配的内存大小 可以使用后缀[K|M|G|T]来指定不同的单位
© 2023 by Personal Life Coach. Proudly created with Wix.com ICP备案号:京ICP备18029179号