代码之家  ›  专栏  ›  技术社区  ›  tjjjohnson

停止slurm-sbatch将脚本复制到计算节点

  •  2
  • tjjjohnson  · 技术社区  · 10 年前

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

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

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

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

    2 回复  |  直到 10 年前
        1
  •  1
  •   tjjjohnson    10 年前

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

    sbatch --wrap /shared_between_all_nodes/test.sh
    

    如果脚本包含参数,则需要引号

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

    来自sbatch文档 http://slurm.schedmd.com/sbatch.html

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

        2
  •  0
  •   damienfrancois    10 年前

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

    能够发出声音 斯巴奇 在任何位置形成,使用此选项

       -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