SLURM(特别是批处理)是否应将用户脚本(而非作业配置脚本)自动复制到群集的计算节点以执行?从我的登录节点执行sbatch文件后,将在我的一个计算节点上创建输出文件,但包含以下内容:
ERROR: could not open file /home/pi/slurm.jl
Stacktrace:
[1] include at ./boot.jl:328 [inlined]
[2] include_relative(::Module, ::String) at ./loading.jl:1105
[3] include(::Module, ::String) at ./Base.jl:31
[4] exec_options(::Base.JLOptions) at ./client.jl:287
[5] _start() at ./client.jl:460
我正在使用sbatch julia.sbatch
运行批处理脚本。
julia.sbatch:
#!/bin/bash
#SBATCH --nodes=4
#SBATCH --ntasks=4
#SBATCH --time=00:15:00
#SBATCH --output=julia.out
#SBATCH --job-name=julia-job
julia slurm.jl
还是应该将脚本(slurm.jl)放在所有节点都可以访问的共享存储上?
答案 0 :(得分:1)
Slurm不会将提交脚本以外的文件复制到计算节点。从Quick Start User Guide:
Slurm不会自动将可执行文件或数据文件迁移到分配给作业的节点上。这些文件必须存在于本地磁盘或某些全局文件系统(例如NFS或Lustre)中。
在大多数群集上,/home
目录是每个登录和计算节点上共享的NFS文件系统。