Skip to content

master_slave DArray copy #132

Open
Open
@raminammour

Description

@raminammour

Hello,

First, thank you for a great package!

I have had an issue with copy of DArray when connected in master_slave topology.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions