1
我有一個函數,我想在主函數中調用它。所有的參數是sharedArray
,我們有一個變量是type
。當我想運行該程序時出現錯誤。我們如何在Julia中調用SharedArray?
@everywhere type dty{T <: Real}
...... (some variable)
end
@everywhere function func2!(v::dty,
out::SharedArray,
out2::SharedArray)
........
end
function func1()
...
out = SharedArray{Float64,2}(n,m)
out2 = SharedArray{Float64,2}(n,m)
......
func2!(v , out, out2)
end
錯誤:
MethodError: no method matching func2!(::dty{Float64}, ::Array{Float64,2}, ::SharedArray{Float64,2}, ::SharedArray{Float64,2})
Closest candidates are:
func2!(::dty, ::SharedArray, ::SharedArray) at In[3]:64
在我想要平行化代碼之前,這是一個矩陣。但是矩陣是2D數組,當我使用typeof(out)時,我發現它可以是Array。所以我用它作爲sharedArray – ReD
正確,但如果你這樣做,那麼每個版本都可以工作,不管你放在那裏的是什麼數組。 –