1
私は関数を持っていますので、main関数で呼びたいと思います。すべての引数は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
あなたがこれを好きなら、あなたがそこに置いた配列に関係なく、各バージョンが動作します。 –