srun --nodes=3 hostname
成功返回所有3个节点名称,但
srun --nodes=3 julia test.jl
在下面的错误中失败,其中test.jl在此处给出
工人2被终止。 错误(未处理的任务失败):版本读取失败。连接由同行关闭。 堆栈跟踪: [1] process_hdr(:: TCPSocket,:: Bool)at ./distributed/process_messages.jl:257 [2] message_handler_loop(:: TCPSocket,:: TCPSocket,:: Bool)at ./distributed/process_messages.jl:143 [3] process_tcp_streams(:: TCPSocket,:: TCPSocket,:: Bool)at ./distributed/process_messages.jl:118 [4](:: Base.Distributed。## 99#100 {TCPSocket,TCPSocket,Bool})()at。/ event.jl:73
srun:错误:n-0-2:任务2:退出退出代码1 srun:错误:n-0-0:任务0:退出退出代码1 srun:错误:n-0-2:任务2:退出退出代码1 srun:错误:n-0-1:任务1:退出退出代码1
test.jl
using ClusterManagers
addprocs(SlurmManager(3), partition="slurm", t="00:5:00")
hosts = []
pids = []
for i in workers()
host, pid = fetch(@spawnat i (gethostname(), getpid()))
println(host)
push!(hosts, host)
push!(pids, pid)
end
# The Slurm resource allocation is released when all the workers have
# exited
for i in workers()
rmprocs(i)
end
为什么呢? 注意:我没有julia作为模块,但julia位于所有节点都可访问的共享目录中。