我正在尝试为并行计算编写一个简单的Julia代码.
我写了一个基于这个文档的简单代码:https://docs.julialang.org/en/latest/manual/parallel-computing
@everywhere function test(x)
return x * 2.0
end
nprocess = 5
addprocs(nprocess)
responses = Vector{Any}(nworkers())
for i in 1:nworkers()
responses[i] = remotecall(test, i+1, i)
end
for res in responses
wait(res)
end
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误消息.
错误:LoadError:在worker 2上:
UndefVarError:#test未定义
我认为@everywhere宏无法正常工作.
我正在使用Julia 0.6.0.
有谁知道如何修理它?
这些@everywhere和addprocs它们的顺序相反(导致添加的工人不知道该功能test).相反,它的工作原理并没有UndefVarError:
nprocess = 5
addprocs(nprocess)
responses = Vector{Any}(nworkers())
@everywhere function test(x)
return x * 2.0
end
for i in 1:nworkers()
responses[i] = remotecall(test, i+1, i)
end
for res in responses
wait(res)
end
Run Code Online (Sandbox Code Playgroud)