繁体   English   中英

无法在sge文件中提交作业

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM