在HPC作业中提交HPC作业

mf94

我有一个依赖输入参数(带有getopts)的大脚本。这些参数之一是一个包含文件的目录(均名为* bam)。此脚本分为两部分:

  • 第1部分:根据输入的* bam文件,计算一个特定的数字。需要明确的是,结果是一个数字,而不是每个文件一个数字。
  • 第2部分:使用第1部分中找到的数字,对每个* bam文件执行一系列操作。

现在,从计算上来说,part1最初非常快。所以我的设置是:

  • 在终端上运行脚本:bash script.sh
  • 在第2部分的script.sh中,为每个文件提交HPC作业提交

但是,由于现在我需要分析的文件比最初计划的要多得多,所以我意识到Part1的计算量也很大-因此,我也需要在HPC上运行它。

所以我的问题是:

  • 是否可以提交在其中提交作业的HPC作业?
  • 换句话说,我可以将script.sh提交为工作,并且仍然可以在其part2中提交工作吗?

要清楚,这是我的脚本的示例:

#!/usr/bin/bash

# PART 0: accept all input arguments

USAGE() { echo "Usage: bash $0 [-b <in-bam-files-dir>] [-o <out-dir>] [-c <chromlen>]" 1>&2; exit 1; }

if (($# == 0)); then
        USAGE
fi

# Use getopts to accept each argument

while getopts ":b:o:c:h" opt
do
    case $opt in
       b ) BAMFILES=$OPTARG
        ;;
       o ) OUTDIR=$OPTARG
        ;;
       c ) CHROMLEN=$OPTARG
        ;;
       h ) USAGE
        ;;
       \? ) echo "Invalid option: -$OPTARG exiting" >&2
        exit
        ;;
       : ) echo "Option -$OPTARG requires an argument" >&2
        exit
        ;;
        esac
    done

# PART1: calculate this unique number

NUMBER=0    

for i in  $(ls $BAMFILES/*.bam)
do
  make some calculations on each file to obtain a number ...
  keep only the smallest found number and assign its value to $NUMBER
done

echo "Final number is ${NUMBER} "

# PART2: Using $NUMBER that we found above, submit a job for each *bam file

for i in $(ls $BAMFILES/*bam)
do

    if [ ! -f ${OUTDIR}/${SAMPLE}.bw ];
    then 
        command=" command -options -b $NUMBER $i"

    echo $command | qsub -V -cwd -o $OUTDIR -e $OUTDIR -l tmem=6G -l h_vmem=6G -l h_rt=3600 -N result_${SAMPLE}

    fi

done
杜纳尔24

答案是“取决于”。您可以将HPC集群设置为具有执行节点能够提交作业的能力,但这不是必需的。听起来像是对本地HPC管理员的快速提问将为您提供明确的答案。或者,您可以尝试执行快速脚本,该脚本除了提交第二份工作外什么也不做,看它是否有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

greping HPC作业

来自分类Dev

如何从 HPC 集群获取完整的作业名称

来自分类Dev

在HPC集群上运行Matlab批处理作业

来自分类Dev

在HPC群集上轻松分发大量作业的策略

来自分类Dev

列出HDInsight中提交的作业

来自分类Dev

HPC群集上的并行作业会导致CPU使用率波动

来自分类Dev

HPC群集上的并行作业会导致CPU使用率波动

来自分类Dev

仅在 Slurm 中提交 python 作业时出现 dbm 错误

来自分类Dev

使用python提交作业

来自分类Dev

Oozie作业未提交

来自分类Dev

捕获qsub提交的作业的作业ID

来自分类Dev

使用keytab提交oozie作业

来自分类Dev

snakemake作业提交的顺序方式

来自分类Dev

在集群上提交作业的代码

来自分类Dev

使用--conf提交作业无效

来自分类Dev

提交要列出的作业列表

来自分类Dev

在Spark 2.0.0中提交作业还是需要做一个胖子吗?

来自分类Dev

如何在4节点CDH集群中提交Spark作业

来自分类Dev

SLURM:如何在作业脚本中提交多个OpenMP并行代码

来自分类Dev

Jenkins 作业 DSL:在 groovy 脚本中提取最后一次提交的分支

来自分类Dev

在 spark 中应用 saveAsCSVFile 操作后,在纱线中提交作业时没有任何反应

来自分类Dev

HPC外部的Charm ++

来自分类Dev

NetLogo HPC内存错误

来自分类Dev

在BigQuery API中提取作业-找不到作业配置对象

来自分类Dev

从旧作业中恢复Slurm作业提交脚本?

来自分类Dev

限制hangfire以从特定队列中提取作业

来自分类Dev

通过“ spark-on-k8s-operator”从另一个窗格中提交Spark作业

来自分类Dev

lsf群集上的mpi作业提交

来自分类Dev

从Windows机器提交Mapreduce作业失败