JuliaParallel / JuliaParallel/DistributedArrays.jl

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

未关闭
#227 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Julia
星标
205
派生
34
PR 合并指标
30 天内没有已合并 PR

描述

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
```

贡献指南

这个仓库没有索引到贡献指南

调研方向

首先定位 DistributedArrays.jl 中现有的 gather 函数和 DArray 定义,然后将当前的 gather 方法与建议的 DArray{T,N,Array{T,N}} 签名进行比较。使用本地部分采用 Array 存储的分布式数组验证其行为;完成的标准是 gather 返回预期的、填充了所有分布式索引的 Array。

由索引模型根据 Issue 内容生成。

评估

技术栈
julia
领域
distributed-systems
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。