D-W*_*D-W 3 bash qsub pbs torque
我希望能够轻易改变多少nodes
,ppn
等我向qsub
通过脚本。也就是说,我想运行这样的东西:
qsub script.sh --name=test_job --nodes=2 --ppn=2 --arg1=2
Run Code Online (Sandbox Code Playgroud)
使用如下脚本:
#/bin/bash
#PBS -N ${NAME}
#PBS -l nodes=${NODES}:ppn=${PPN},walltime=${WALLTIME}
#PBS -q ${QUEUE}
#PBS -m ${MAILOPTS}
#PBS -M ${EMAIL}
/some/command ${ARG1}
Run Code Online (Sandbox Code Playgroud)
因此,我希望能够传入既会改变 PBS 环境又会影响可执行文件本身的参数。
我试过使用以下-v
参数qsub
:
qsub script.sh -v NAME=test_job,NODES=16,PPN=16,ARG1=2
Run Code Online (Sandbox Code Playgroud)
但是提交的作业名称为script.sh
1 node
, 1 ppn
。
关于解决这个问题的任何想法?
@dbeer 的回答给了我更多的见识。我的问题的解决方案如下:
#PBS
args 被命令行覆盖。在这种情况下,必须将 PBS 的 args 和脚本本身分开。因此,而不是尝试执行以下操作:
#PBS -l nodes=${NODES}:ppn=${PPN},walltime=${WALLTIME}
/some/command ${ARG1}
Run Code Online (Sandbox Code Playgroud)
在脚本内部并运行
qsub script.sh -v NODES=2,PPN=2,WALLTIME=160:00:00,ARG1=2
Run Code Online (Sandbox Code Playgroud)
这些都可以通过 args 设置为qsub
自身:
qsub script.sh -l nodes=2:ppn=2,walltime=160:00:00
Run Code Online (Sandbox Code Playgroud)
然后,任何需要传递给可执行文件的-v
参数都可以通过参数传递给qsub
:
qsub script.sh -l nodes=2:ppn=2,walltime=160:00:00 -v ARGS1=2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1513 次 |
最近记录: |