JuliaParallel / JuliaParallel/DistributedArrays.jl

All localparts of DArray are updated when only one is specified

Open
#238 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
205
Forks
34
PR merge metrics
No merged PRs in 30d

Description

I ran into an issue when running this block of code:
```
using Distributed
if nprocs() == 1
addprocs()
end
@everywhere using DistributedArrays

a = dfill([], 20)
@sync @distributed for i in 1:20
b = (i, myid())
push!(localpart(a)[1], b)
end

a
```

I would expect ``a`` to be
```
[(1,2), (2,2), (3,2)]
[]
[]
[(4, 3), (5, 3), (6, 3)]
[]

```
because I am only pushing to the first local part of ``a``. But what I get is this:
```
[(1, 2), (2, 2), (3, 2)]
[(1, 2), (2, 2), (3, 2)]
[(1, 2), (2, 2), (3, 2)]
[(4, 3), (5, 3), (6, 3)]
[(4, 3), (5, 3), (6, 3)]

[(17, 8), (18, 8)]
[(17, 8), (18, 8)]
[(19, 9), (20, 9)]
[(19, 9), (20, 9)]
```

It seems that i am pushing to all local parts of ``a``, not just the first one.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.