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

问题描述:

具体来说,Cray需要嵌入在qsub请求中的特殊命令(aprun)才能在批处理节点上执行作业(Cray默认在没有aprun语法的登录/计算节点上运行)。当手键控qsub请求克雷Linux的超级计算机,有向语法是:在运行Linux的Cray系统上,如何使用自动BASH脚本中的aprun提交多个qsub请求?

qsub <qsub parameters> -V 
aprun -n #CPUS /executable.exe param1 param2 ... 
Ctrl-D 

当用户-V(在qsub语句参数表示通道)之后提供“返回”和可执行/参数后组。 Ctrl-D终止输入并执行qsub/aprun命令。

的问题是,有各种各样的在网上在bash脚本输入Ctrl-D(这只是意味着EOF)中所描述的方法,但它们都没有在环境中工作的qsub - 嵌入式aprun命令。

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

溶液语法是:

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 

注意<<EOF的(无空间< <和EOF之间)的位置,cd是在新的一行,并随后通过与aprun语法和一个换行最终EOF在设置中没有领先<<,后面跟着一个换行符。

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