使用Slurm的Julia只调用一个节点

时间:2018-02-02 22:56:53

标签: parallel-processing julia slurm

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位于所有节点都可访问的共享目录中。

0 个答案:

没有答案