首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Shell中的函数将批处理作业发送到PBS?

问如何使用Shell中的函数将批处理作业发送到PBS?
EN

Stack Overflow用户
提问于 2015-06-03 10:25:04
回答 2查看 316关注 0票数 0

我可以使用非交互式批处理作业和/或交互式批处理作业这两种方法向PBS提交作业。但是,我需要在函数中使用pbs命令。在另一个世界里,我需要这样的结构:

代码语言:javascript
复制
#!/bin/sh
pbs_setup () {
 #PBS -l $1 
 #PBS -N $2
 #PBS -q normal                                         
 #PBS -A $USER                                                                                      
 #PBS -m ae                                                                                              
 #PBS -M $USER"@gmail.com"                                                                        
 #PBS -q normal
 #PBS -l nodes=1:ppn=8
 #PBS
}    
pbs_setup "walltime=6:00:00" "step3";

echo " "
echo "Job started 
echo " "
echo "Job Ended 

当我提交此作业时,它不工作。

实际上,我的最终目标是将job的命令与代码主体分开。因此,当HPC将改变时,我只编辑一个包含此功能的shell文件,而不是编辑所有的shell。

EN

回答 2

Stack Overflow用户

发布于 2015-06-03 10:58:36

作业脚本问题在于,#PBS行必须是脚本文件中的第一个非注释行。

在尝试执行相同的概念时,我使用了与您相同类型的函数,但将结果和实际命令cat到另一个文件中。也就是说,一个拱形脚本创建'job‘脚本。您可以将高性能计算需求放在一个单独的文件中,然后从创建脚本中对其进行source。

响应注释进行编辑:例如,指定开始作业的路径:

#PBS - d init_path

要用于作业的工作目录路径,PBS_O_INITDIR

或

#PBS -D root_path

要用于作业的根目录PBS_O_ROOTDIR。

或

#PBS -w working_path

如果未指定-w选项,则默认工作目录为当前目录。此选项设置环境变量PBS_O_WORKDIR。

因此,当您调用脚本将脚本提交到qsub时,默认的PBS_O_WORKDIR是您所在的当前目录。

因此,如果您为相对于实际脚本运行环境的路径设置了特定选项(d、D、w),您将能够使用您想要的路径。

有关这些选项和其他选项的默认值的详细信息,请查看您的应用程序的手册页。如果使用PBS系统的Torque版本,可从linux.die.net - qsub获得

票数 0
EN

Stack Overflow用户

发布于 2015-06-03 14:51:53

您可以创建自定义提交命令,该命令收集作业选项并将它们作为命令行参数发送到实际的qsub调用。

这是一个相当基本的例子。在实际使用中,我会添加更复杂的参数处理,以适应作业的类型,并与qsub接口更一致。此外,处理交互式作业还需要额外的工作。

  1. submit.sh

#!/bin/bash walltime="${2:-06:00:00}“name="${3:-step3}”queue="normal“acct="$USER”mailevents="ae“mailaddress="$USER@gmail.com”resources="nodes=1:ppn=8“if $# -lt 1;然后回显“用法: submit.sh脚本[挂牌时间名称]”>退出1 fi script="$1“qsub -l "$walltime”-N "$name“-q "$queue”-A "$acct“\ -m "$mailevents”-M "$mailaddress“-l "$resources”echo

#!/bin/bash echo“”echo“”作业已开始“echo”“echo”“作业已结束”

这应该被用作

代码语言:javascript
复制
    submit.sh script.sh 06:00:00 step3
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30609786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档