在运行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。