0
在以下文件朱莉婭:使用@parallel的或PMAP裏面的孩子/子模塊
test.jl
push!(LOAD_PATH, string(pwd(), "/lib/"))
@everywhere using Parent
addprocs(2)
Parent.Child.test()
的lib/Parent.jl
@everywhere module Parent
struct INT
i::Int64
end
include("Child.jl")
end
的lib /兒童。 JL
module Child
import Parent
function test()
a = [1, 2, 3, 4, 5]
@parallel (+) for x in a
i = Parent.INT(x)
println(x)
x
end
end
end
我得到以下埃羅rs:
% julia test.jl
ERROR: ERROR (unhandled task failure): On worker 3:
UndefVarError: Parent not defined
使用@parallel for或pmap會得到相同的錯誤。
但是,如果我把任何模塊以外的所有東西,那麼代碼工作正常。
刪除「addprocs(2)」,那麼一切工作正常。
我的項目由許多模塊和子模塊組成,並希望保留模塊化結構。但是,我對Julia很新,可能不知道如何正確使用它。我在這裏做錯了什麼?
我還發現,把功能測試()在父模塊和消除兒童模塊共給出了同樣的錯誤,第一件事情。 –