JuliaParallel / DistributedArrays.jl

Distributed Arrays in Julia
Other
197 stars 35 forks source link

Add gather(d::DArray{T,N,Array{T,N}}) where {T, N} #227

Open oskarpfeffer opened 3 years ago

oskarpfeffer commented 3 years ago

I am wondering why it is not possible to gather a DArray{T,N,Array{T,N}}?

I wrote this method to the gather function, it works for my purpose. Maybe it is possible to add it? (or maybe I did a mistake and it should be changed somehow?)

function gather(d::DArray{T,N,Array{T,N}}) where {T, N}
    a=Array{T}(undef, size(d))
    indices = collect.(d.indices)
    @sync for (i,p) in enumerate(procs(d))
        @async a[indices[i]...] = remotecall_fetch(localpart, p, d)
    end
    a
end
raminammour commented 3 years ago

This is what Array(d::DArray) does. So it is already implemented.