SLURM sbatch 是否自动跨节点复制用户脚本?
Does SLURM sbatch Automatically Copy User Script Across Nodes?
SLURM(特别是sbatch)是否应该自动将用户脚本(不是作业配置脚本)复制到集群的计算节点上执行?从我的登录节点执行 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) 应该位于所有节点都可以访问的共享存储上吗?
Slurm 不会将提交脚本以外的文件复制到计算节点。来自 Quick Start User Guide:
Slurm does not automatically migrate executable or data files to the nodes allocated to a job. Either the files must exists on local disk or in some global file system (e.g. NFS or Lustre).
在大多数集群上,/home
目录是在每个登录和计算节点上共享的 NFS 文件系统。
您可以在脚本中使用sbcast
将文件复制到节点。
#!/bin/bash
#SBATCH --nodes=4
#SBATCH --ntasks=4
#SBATCH --time=00:15:00
#SBATCH --output=julia.out
#SBATCH --job-name=julia-job
sbcast slurm.jl slurm.jl
julia slurm.jl
SLURM(特别是sbatch)是否应该自动将用户脚本(不是作业配置脚本)复制到集群的计算节点上执行?从我的登录节点执行 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) 应该位于所有节点都可以访问的共享存储上吗?
Slurm 不会将提交脚本以外的文件复制到计算节点。来自 Quick Start User Guide:
Slurm does not automatically migrate executable or data files to the nodes allocated to a job. Either the files must exists on local disk or in some global file system (e.g. NFS or Lustre).
在大多数集群上,/home
目录是在每个登录和计算节点上共享的 NFS 文件系统。
您可以在脚本中使用sbcast
将文件复制到节点。
#!/bin/bash
#SBATCH --nodes=4
#SBATCH --ntasks=4
#SBATCH --time=00:15:00
#SBATCH --output=julia.out
#SBATCH --job-name=julia-job
sbcast slurm.jl slurm.jl
julia slurm.jl