JuliaParallel / JuliaParallel/DistributedArrays.jl
master_slave DArray copy
- Vorherrschende Sprache
- Julia
- Sterne
- 205
- Forks
- 34
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hello,
First, thank you for a great package!
I have had an issue with `copy` of `DArray` when connected in `master_slave` topology.
```julia
julia> addprocs(2,topology=:master_slave)
2-element Array{Int64,1}:
2
3
julia> nprocs()
3
julia> using DistributedArrays
julia> dd=drand((11,21,2,13),workers(),[1,1,1,2]);
julia> @eval @everywhere println(localindexes($dd))
(1:0,1:0,1:0,1:0)
From worker 2: (1:11,1:21,1:2,1:7)
From worker 3: (1:11,1:21,1:2,8:13)
julia> ddc=copy(dd);
ERROR: On worker 2:
peer 3 is not connected to 2. Topology : master_slave
...
```
I have shortened the error output, surely you can reproduce it.
Is there a reason why this is an error?
Especially that this works...
```julia
julia> dd=drand((11,21,2,13),workers(),[1,1,1,2]);
julia> @everywhere using DistributedArrays
julia> @eval ddc2=DArray(I->copy(localpart($dd)),$dd);
julia> sumabs2(ddc2-dd)
0.0
julia> @eval @everywhere println(localindexes($ddc2))
(1:0,1:0,1:0,1:0)
From worker 2: (1:11,1:21,1:2,1:7)
From worker 3: (1:11,1:21,1:2,8:13)
julia> @eval @everywhere println(localindexes($dd))
(1:0,1:0,1:0,1:0)
From worker 3: (1:11,1:21,1:2,8:13)
From worker 2: (1:11,1:21,1:2,1:7)
```
Finally, is there a reason why `similar` does not yield a `DArray` with the same distribution?
```julia
julia> dd=drand((11,21,2,13),workers(),[1,1,1,2]);
julia> @eval @everywhere println(localindexes($dd))
(1:0,1:0,1:0,1:0)
From worker 2: (1:11,1:21,1:2,1:7)
From worker 3: (1:11,1:21,1:2,8:13)
julia> ddc=similar(dd);
julia> @eval @everywhere println(localindexes($ddc))
(1:0,1:0,1:0,1:0)
From worker 2: (1:11,1:11,1:2,1:13)
From worker 3: (1:11,12:21,1:2,1:13)
```
I appreciate any help on this, and again thanks for the effort with this package!
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.