我试图使用PBS高性能计算机作业调度程序链接两个计算作业。我的脚本如下:
名为1.pbs的脚本
#!/bin/bash
#PBS -N 1
#PBS -q thin
#PBS -l walltime=0:03:00
#PBS -l select=1:ncpus=1
#PBS -j oe
#PBS -J 1-10
cd $PBS_O_WORKDIR
echo 'SCRIPT 1'
qsub -W depend=afterok:${PBS_ARRAY_ID} 2.pbs名为2.pbs的脚本:
#!/bin/bash
#PBS -N 2
#PBS -q thin
#PBS -l walltime=0:03:00
#PBS -l select=1:ncpus=1
#PBS -j oe
cd $PBS_O_WORKDIR
echo 'SCRIPT 2'因为脚本 1.pbs 是一个数组(运行脚本的10个副本),当数组完成脚本2.pbs也将运行10个副本(在数组作业期间每个提交的1.pbs都有一个拷贝)。
我的问题是:如何设置这两个脚本,使脚本1.pbs作为数组正常运行,那么在所有数组作业完成脚本2 jobs 只运行一次之后。
发布于 2017-06-28 23:21:29
一种方法:让1.pbs触摸/tmp/中的信号量文件,作为执行qsub的条件。
发布于 2017-07-03 09:52:50
不要从第一个作业的内部运行"qsub -W依赖“。
像这样运行:
my1job=qsub 1.pbs qsub -W depend=afterok:$my1job 2.pb
https://stackoverflow.com/questions/44809337
复制相似问题