阻止slurm sbatch从复制脚本到计算节点

时间:2014-07-10 02:17:59

标签: slurm

有没有办法阻止sbatch将脚本复制到计算节点。例如,当我跑:

sbatch --mem=300 /shared_between_all_nodes/test.sh

test.sh被复制到执行计算节点上的/ var / lib / slurm-llnl / slurmd / etc /。这样做的问题是/ shared_between_all_nodes /中有其他脚本需要使用test.sh,我想避免对路径进行硬编码。

在sge中,我可以使用qsub -b y来阻止它将脚本复制到计算节点。在slurm中是否有类似的选项或配置?

2 个答案:

答案 0 :(得分:1)

使用sbatch --wrap是一个很好的解决方案

sbatch --wrap /shared_between_all_nodes/test.sh
如果脚本具有参数

,则需要

引号

sbatch --wrap "/shared_between_all_nodes/test.sh param1 param2"

来自sbatch docs http://slurm.schedmd.com/sbatch.html

  

- 涡卷=   Sbatch将指定的命令字符串包装在一个简单的“sh”shell脚本中,并将该脚本提交给slurm控制器。使用--wrap时,可能无法在命令行中指定脚本名称和参数;而是使用sbatch生成的包装器脚本。

答案 1 :(得分:0)

可能会在那里复制脚本,但工作目录将是启动sbatch命令的目录。因此,如果从/shared_between_all_nodes/启动命令,它应该可以工作。

为了能够在任何地方提出sbatch表格,请使用此选项

   -D, --workdir=<directory>
          Set the working directory of the batch script to directory before 
          it is executed.

喜欢

sbatch --mem=300 -D /shared_between_all_nodes /shared_between_all_nodes/test.sh
相关问题