在运行Linux的Cray系统上,如何在自动BASH脚本中使用aprun提交多个qsub请求?

时间:2016-11-11 15:30:27

标签: linux bash batch-processing qsub cray

具体来说,Cray需要在aprun请求中嵌入一个特殊命令(qsub)来在批处理节点上执行作业(Cray默认在没有{{1}的登录/计算节点上运行} 句法)。将aprun请求手动键入Cray Linux超级计算机时,定向语法为:

qsub

用户在qsub <qsub parameters> -V aprun -n #CPUS /executable.exe param1 param2 ... Ctrl-D (表示-V语句中的参数通过)之后和可执行文件/参数集之后提供“返回”。 qsub终止输入并执行Ctrl-D命令。

问题是,网上描述了多种用于在BASH脚本中输入qsub/aprun(简称Ctrl-D)的方法,但它们都不能在EOF - 嵌入式qsub命令。

我需要做的是在单个脚本中为多个aprun命令执行相同的语法。我如何在BASH中编写代码?

1 个答案:

答案 0 :(得分:1)

解决方案语法为:

qsub/aprun

请注意qsub <qsub parameters> -V <<EOF cd aprun -n #CPUS /executable.exe param1 param2 ... EOF qsub <qsub parameters> -V <<EOF cd aprun -n #CPUS /executable.exe param1 param2 ... EOF 的位置(&lt;&lt;和EOF之间没有空格),<<EOF位于新行上,后跟带有cd语法的换行符,集合中的最终aprun没有前导EOF,后跟换行符。

此语法将每个<<命令执行到新的批处理节点作业提交中。脚本的输出将是所请求的一系列作业ID。