跳到主要内容

qsub

提交作业到FSCHED调度系统。


参数介绍

基础选项

选项功能描述主要差异
-b将命令作为二进制可执行文件运行(y/n)无差异
-N作业名称无差异
-cwd使用当前工作目录无差异
-verify验证模式,不实际提交作业无差异

账户与项目

选项功能描述主要差异
-A指定账户名称无差异
-P指定项目名称无差异

调度与队列

选项功能描述主要差异
-q队列名称无差异
-a作业开始时间(YYMMDDhhmm格式)无差异
-h提交后将作业置于hold状态无差异

资源请求

选项功能描述主要差异
-l资源需求列表支持mem_freeh_rtnum_prochostname
-pe并行环境及slots数量无差异
-masterq主队列(用于并行作业)。要求同时指定-pe无差异
-bindingCPU绑定策略。支持linearstridingexplicit无差异

优先级

选项功能描述主要差异
-p作业优先级(-1023到1024)无差异
-js作业份额(job share)。SGE的js越大优先级越高无差异

输入输出

选项功能描述主要差异
-o标准输出路径无差异
-e标准错误输出路径无差异
-i标准输入路径无差异
-j合并标准输出和标准错误(y/n)无差异

邮件通知

选项功能描述主要差异
-m邮件通知选项(b/e/a/s/n)无差异
-M邮件接收地址无差异

作业依赖

选项功能描述主要差异
-hold_jid指定作业依赖关系无差异
-hold_jid_ad指定数组作业依赖关系无差异

数组作业

选项功能描述主要差异
-t数组作业任务ID范围。支持start-end:step格式无差异
-tc限制并发数组任务数量扩展选项(原生SGE无此选项),对应SLURM的--array=start-end%max中的%max部分

数组作业格式说明

  • start-end - 任务ID范围
  • :step - 可选步长(默认为1)

作业重启

选项功能描述主要差异
-r作业是否可重启(y/n)无差异

高级选项

选项功能描述主要差异
-C脚本指令前缀(默认为#$前缀必须以#开头,否则报错(原生SGE允许但有警告)
-@从文件读取选项无差异
-cCheckpoint选项仅支持-c n(禁用checkpoint)
-S指定脚本解释器验证脚本shebang行,确保与指定解释器一致
-shell启用/禁用shell包装(y/n)参数被接受,但作业始终使用shell包装
-sync同步等待作业完成(y/n)无差异
-w验证选项(e/w/n/v/p)v等同于-verify
-notify在终止/暂停前通知作业参数被接受,但无实际功能

环境变量和上下文

选项功能描述主要差异
-v导出指定环境变量。支持逗号分隔多个变量无差异
-V导出所有环境变量默认传递所有环境变量(相当于默认-V
-ac添加上下文变量存储在作业comment字段,格式:CONTEXT:var=value(不影响调度)
-dc删除上下文变量存储在作业comment字段中
-sc设置上下文变量(替换所有)存储在作业comment字段中

资源请求控制

选项功能描述主要差异
-hard硬资源请求。作为状态开关,后续-l-q选项会被解析默认为hard模式
-soft软资源请求。作为状态开关后续-l-q选项会被忽略

作业执行控制

选项功能描述主要差异
-now立即运行或失败(y/n)无差异
-wd工作目录。支持相对路径和绝对路径无差异

使用示例

示例1:基础提交

qsub -N myjob -o out.txt script.sh
  • 效果:提交并指定输出文件名。

示例2:指定资源需求

qsub -l num_proc=4 job.sh
  • 效果:要求4核CPU。

示例3:设置作业依赖

qsub -hold_jid 123 analysis.py
  • 效果:在作业ID=123完成后执行。

示例4:提交并行作业

qsub -pe mpi 8 code.py
  • 效果:启动MPI并行环境,分配8个slots。

示例5:提交数组作业

qsub -t 1-5:2 array.sh
  • 效果:创建步长为2的任务数组(ID:1,3,5)。

示例6:设置开始时间和优先级

qsub -a 202601101430 -p 500 delay_job.sh
  • 效果:设置开始时间和优先级。

示例7:设置环境变量

qsub -v DEBUG=1,WORKERS=4 -cwd test.sh
  • 效果:导出环境变量并使用当前目录。

示例8:同步等待作业完成

qsub -sync y wait_job.sh
  • 效果:提交作业并等待其完成后返回。

示例9:验证模式

qsub -verify myscript.sh
  • 效果:验证作业配置,不实际提交。

示例10:从文件读取选项

qsub -@ options.txt myscript.sh
  • 效果:从文件读取选项配置。

示例11:二进制命令执行

qsub -b y hostname
  • 效果:将命令作为二进制可执行文件运行。

示例12:自定义脚本指令前缀

qsub -C '#@' custom_prefix.sh
  • 效果:使用#@作为脚本指令前缀(替代默认的#$)。