gpt4 book ai didi

julia - 如何在简单的 Julia 代码中使用 @everywhere 宏进行并行计算

转载 作者:行者123 更新时间:2023-12-04 18:58:31 24 4
gpt4 key购买 nike

我正在尝试为并行计算编写一个简单的 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

但是,我收到此错误消息。

ERROR: LoadError: On worker 2:

UndefVarError: #test not defined



我认为@everywhere 宏不能正常工作。

我正在使用 Julia 0.6.0。

有谁知道如何修理它?

最佳答案

@everywhereaddprocs顺序相反(导致添加的 worker 不知道函数 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

关于julia - 如何在简单的 Julia 代码中使用 @everywhere 宏进行并行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45657667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com