我希望能够轻松地更改通过脚本提交给nodes
的ppn
、qsub
等数量。也就是说,我想做这样的事情:
qsub script.sh --name=test_job --nodes=2 --ppn=2 --arg1=2
脚本如下:
#/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}
因此,我希望能够传入参数,这些参数既可以更改PBS环境,也可以将一些参数传递到可执行文件本身。
我试过使用
-v
的qsub
参数:qsub script.sh -v NAME=test_job,NODES=16,PPN=16,ARG1=2
但提交的作业名为
script.sh
和1node
,1ppn
。有什么解决办法吗?
最佳答案
在Torque中,当在命令行上指定匹配的参数时,将重写所有#PBS参数。例如,如果脚本具有:#PBS -l nodes=2
您可以提交:qsub script.sh -l nodes=4
命令行将优先于脚本。这些文档有一个complete list的命令行参数。