[英]job can't be submitted inside sge file
我想通过sge文件提交sge作业。
例如,我有如下的run.sge文件:
## SGE options
#$ -cwd
#$ -l mem_free=2G
##$ -q all.q@compute-2-3.local
#$ -pe mpich 4
#$ -S /bin/bash
SCRATCH_DIR=/state/partition1/$USER-$JOB_ID
mkdir $SCRATCH_DIR
qsub run_inp.sge
rmdir $SCRATCH_DIR
而run_inp.sge文件如下:
## SGE options
#$ -cwd
#$ -l mem_free=2G
##$ -q all.q@compute-2-3.local
#$ -pe mpich 4
#$ -S /bin/bash
INPUTFILE="main.inp"
JOB="main"
SCRATCH_DIR=/state/partition1/$USER-$JOB_ID
mkdir $SCRATCH_DIR
/share/apps/simula/Commands/abaqus double inp=$INPUTFILE scratch=$SCRATCH_DIR job=$JOB mp_mode=mpi interactive
rmdir $SCRATCH_DIR
每当我通过提交工作
qsub run.sge
我收到此错误:
Unable to run job: denied: host "compute-2-9.local" is no submit host.
Exiting.
但是,如果我直接提交run_inp.sge,它可以正常工作:
qsub run_inp.sge
我的问题是我可以在sge职位内提交sge职位吗? 如果没有,是否有其他方法可以做到这一点?
正常方法是从登录的主机提交所有作业,然后提交作业并检查作业状态。 提交的作业计划在群集中的计算节点上执行。 如果您有多个作业以及作业之间的依赖关系,则可以向作业计划程序声明依赖关系。 例如,您可以告诉调度程序在开始作业B之前等待作业A完成。
当您在run_inp.sge中再次调用qsub
时,第一个作业( run.sge )提交到的节点compute-2-9.local
也必须是一个提交节点。 仅在提交节点上允许使用qsub
命令。 当前compute-2-9.local
仅是一个执行节点,因此会出现错误。 但是,就像@Steve提到的那样,最好使用作业依赖项,除非您尝试“接受” SGE!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.