DArray を作成します。
d = dzeros(3)
ここで、pmap を使用して関数を並列に実行したいと思います。その関数が d のどの部分でも現在のプロセッサでローカルにアクセスできるようにしたいと思います。何かのようなもの
function foo()
global d
a = localpart(d)
a[1] = 1
end
しかし、私は得る
exception on 2: exception on 4: ERROR: d not defined
in mcmc_sub! at /home/benjamin/.julia/v0.3/Mamba/src/model/mcmc.jl:67
in anonymous at multi.jl:847
in run_work_thunk at multi.jl:613
in anonymous at task.jl:847
各プロセスで。
d は各プロセッサで定義する必要があります。たとえば、次のようなコードが機能します。
julia> d = dzeros(3)
3-element DArray{Float64,1,Array{Float64,1}}:
0.0
0.0
0.0
julia> @spawnat(2, (a = localpart(d); a[1]=1;))
RemoteRef(2,1,65)
julia> d
3-element DArray{Float64,1,Array{Float64,1}}:
1.0
0.0
0.0