qsub

slurm 集群的类似 qsub 的行为
qsub

slurm 集群的类似 qsub 的行为

我最近转向 slurm 并寻找一个作业提交工具,其行为类似于 qsub: 它通过管道获取输入 它将输出打印到标准输出 例子: for n in `seq 1 10`; do echo "echo $n" | qsub done 应该将每个 echo 命令发送到集群,并且输出应该是 1..10(大概按随机顺序)。 到目前为止我可以 使用 sbatch 并行发送作业,但不确定是否将输出输出到 stdout 使用 srun 发送作业,然后它会按顺序一一操作 有什么建议么? ...

Admin

让一项工作依赖于另一项工作,但前提是超时
qsub

让一项工作依赖于另一项工作,但前提是超时

提交作业时qsub,我们可以确保一项工作只能在另一项工作之后开始。更重要的是,我们只能根据其他作业的状态来执行它。也许仅在其他作业失败或退出正常时才运行新作业。但就我而言,我想在工作“失败”且状态为 时开始工作CANCELLED,TIMEOUT。用例是,我有时会进行长时间的训练,而我们的系统管理员只允许 32 小时的工作。如果作业“超时”,则意味着训练运行尚未完成,因此新作业应占据超时作业留下的位置。 通常的语法如下。 qsub myjob.pbs -W depend=afterok:<firstjobid> 或者afterany,aftern...

Admin

将包含逗号的变量作为 -v 选项传递给 qsub
qsub

将包含逗号的变量作为 -v 选项传递给 qsub

看到大家的反应后堆栈溢出关于这个问题以及对 qsub 的不熟悉,我相信 thqt U&L 更适合这个问题。 在 qsub 中,我们可以传递环境变量(以逗号分隔的对列表envar=value),如下所示: info="This is some info" qsub -v INFO=$info script.pbs 但是,当 $info 包含逗号时,这就会出现问题。 info="This is some info, and here is some more!" qsub -v INFO=$info script.pbs 这将触发如下错误: 错误:...

Admin

通过 drmaa 在 qsub 命令中进行 Shell 变量扩展
qsub

通过 drmaa 在 qsub 命令中进行 Shell 变量扩展

我正在使用以下命令向 SGE (Sun Grid Engine) 运行批量作业提交python drmaa 绑定。 对于批量作业提交,我正在提交一个 python 脚本,该脚本接受一个参数,并且可以通过 shebang 进行命令行可执行。为了正确参数化作业批量提交,我设置环境变量以通过选项传播到 python 脚本-v。我正在尝试根据SGE 在作业提交期间导出的$TASK_ID/环境变量在我的 zsh 环境中进行间接变量扩展。$SGE_TASK_ID 作为间接变量扩展的最小可重现示例,我正在尝试执行类似的操作,该操作在我的 shell 中有效。 export...

Admin

`qsub` 会按顺序运行我的作业吗?
qsub

`qsub` 会按顺序运行我的作业吗?

假设包含以下内容的脚本被传递给qsubasqsub myscript.sh #PBS -N Job_name #PBS -l walltime=10:30,mem=320kb #PBS -m be # step1 arg1 arg2 step2 arg3 arg4 是否会在不同节点上并行step1运行step2,还是在分配的资源上顺序运行? ...

Admin

用于读取多个文件的 Bash 脚本
qsub

用于读取多个文件的 Bash 脚本

我有多个 R 脚本需要读取(最多 3 个,即 tr1.R、tr2.R、tr3.R)。 下面给出了读取单个脚本的bash脚本 #!/bin/bash #PBS -l nodes=1:ppn=10,walltime=00:05:00 #PBS -M #PBS -m e module load R/4.0 Rscript ~/tr1.R 我按照建议尝试了以下操作@cas #!/bin/bash #PBS -l nodes=1:ppn=10,walltime=00:05:00 #PBS -M #PBS -m e module load R/4.0 **Rscr...

Admin

如何一次提交多个 R 作业?
qsub

如何一次提交多个 R 作业?

我有一个运行多个文件的 R 脚本,例如 file=1 到 50。我通常通过更改 R 脚本中的数字来提交重复的作业,例如每次 10 个文件 5 次。那么,如何才能一次提交5个作业而不需要提交5次作业呢?另外,我想更新一下默认输出和错误文件对于每项工作。 示例 bash 代码: #!/bin/bash #PBS -l nodes=1:ppn=20,walltime=05:00:00 #PBS -m e #PBS -o default.out #PBS -e errorfile module load R/4.0 Rscript ~/r_script1.R...

Admin

如何使用 qsub 取消所有等待作业?
qsub

如何使用 qsub 取消所有等待作业?

我正在运行很多作业qsub:有些正在运行,有些正在等待。有没有办法取消给定用户的所有排队/等待的作业,而无需提供单独的作业 ID? ...

Admin

如何从特定节点运行脚本并激活 conda 环境?
qsub

如何从特定节点运行脚本并激活 conda 环境?

我有一个 python 程序,它在安装在集群的特定节点中的 conda 环境中运行。我想将其提交到 qsub 但只需要帮助。我的脚本是: #!/bin/bash source conda activate myenv pyhton3.6 myprogram.py 我已经尝试过: ssh **node** 'export SGE_ROOT=/usr/local/run/ge2011.11; /usr/local/run/ge2011.11/bin/linux-x64/qsub script.sh' 但说 Unable to run job: denie...

Admin

Sun Grid Engine 作业文件中内存请求的语法
qsub

Sun Grid Engine 作业文件中内存请求的语法

qsub在使用 登录节点后,我正在大学集群中提交一份 Matlab 作业ssh。 该作业内存不足。这是我收到的解决问题的建议:“可能的解决方案是在更大的机器上运行或购买更多 RAM”。 这对于我的 bash 文件来说实际上意味着什么? bash 文件的哪几行控制机器或 RAM 的大小?目前,在我的 bash 文件(见下文)中,我请求vmem和tmem.有这些 RAM 吗? #$ -S /bin/bash #$ -l h_vmem=18G #$ -l tmem=18G #$ -l h_rt=480:0:0 #$ -cwd #$ -j y #Run 600 t...

Admin

Sun Grid Engine 作业文件中内核数量的语法
qsub

Sun Grid Engine 作业文件中内核数量的语法

我想使用我大学的 HPC 来执行qsub以下数组作业3任务。 每个任务运行一个 Matlab 代码,该代码使用一个求解器 (MOSEK),该求解器利用多个线程来解决一个优化问题。参数可以控制我们希望求解器使用的线程数。允许的最大线程数不应超过核心数。 假设我希望求解器使用4 线程。因此,我应该确保将每个任务分配给一台至少有 4 个空闲核心的机器。我如何在 bash 文件中请求它?我应该如何计算内存使用量(即我应该声明每个核心的内存还是总内存)? 目前这是我的 bash 文件 #$ -S /bin/bash #$ -l h_vmem=18G #$ -l tme...

Admin

名称不存在或不是目录
qsub

名称不存在或不是目录

我正在400大学的 HPC 中运行一个数组作业(Matlab R2018b 任务)。将qsub.sh 文件放入终端后,400由它们启动的任务将立即被终止。 在每个任务的.o文件中没有报告错误,但仅报告以下警告 Warning: Name is nonexistent or not a directory: /share/apps/.../NAG/mbl6a24dnl/mex.a64 如果了解可能有用:我在 Matlab .m 文件中调用 MOSEK 求解器。特别是,在我的 Matlab .m 文件的开头,我有 addpath /share/ap...

Admin

导出命令在交互模式下工作,但在脚本中产生错误消息
qsub

导出命令在交互模式下工作,但在脚本中产生错误消息

我需要导出环境变量来运行程序。我能够在交互模式下成功地做到这一点。但是,当我尝试将环境变量导出为 bash shell 脚本的一部分时,收到以下错误消息: 导出:未找到命令。 在交互模式下,当我输入以下命令时,它会起作用。 export GT_DIR=/cluster/home/SD/ 但是当我将导出命令包含在 shell 脚本中时,它不起作用。 IE, #!/bin/bash export GT_DIR=/cluster/home/SD/ 我收到错误消息: export: Command...

Admin

如何运行同一个命令来执行多个目录中的文件?
qsub

如何运行同一个命令来执行多个目录中的文件?

我想要执行以下操作,我有一组目录: 例如)400K 500K 600K 等等 在每个目录中,我都有一个“run.pbs”文件,我想使用“qsub run.pbs”通过批处理提交该文件。 我正在做类似的事情: for var in "@/run.pbs" do qsub run.pbs done 我根据网上的一些搜索制作了这个脚本。但是,运行脚本后出现错误,指示找不到 run.pbs。 所以我想知道我是否错过了一个步骤,以致脚本没有访问每个目录。 我的脚本与子目录(400K 500K ...)位于同一目录中。 路径类似于:/home...

Admin

在 HPC 作业中提交 HPC 作业
qsub

在 HPC 作业中提交 HPC 作业

我有一个依赖输入参数(使用 getopts)的大型脚本。这些参数之一是包含文件的目录(全部名为 *bam) 该脚本有 2 个部分: 第1部分:根据输入的*bam文件,计算一个具体数字。需要明确的是,结果是一个数字,而不是每个文件一个数字。 第 2 部分:使用第 1 部分中找到的数字,对每个 *bam 文件执行一系列操作。 现在,从计算角度来看,第 1 部分最初非常快。所以我的设置是: 在终端上运行脚本:bash script.sh 在 script.sh 中,对于第 2 部分,为每个文件提交 HPC 作业 然而,现在我需要分析比最初计划更多的...

Admin