DistributedArrays.jl icon indicating copy to clipboard operation
DistributedArrays.jl copied to clipboard

Make similar produce the same distribution when the size is the same

Open raminammour opened this issue 3 years ago • 0 comments

Hello,

If the user has bothered to pass an explicit distribution, respect it in similar arrays. This prevents behavior as below:

julia> dd=drand((10,10),workers(),[2,1]);

julia> ds=similar(dd);

julia> ds.indices
1x2 Array{Tuple{UnitRange{Int64},UnitRange{Int64}},2}:
 (1:10, 1:5)  (1:10, 6:10)

julia> dd.indices
2x1 Array{Tuple{UnitRange{Int64},UnitRange{Int64}},2}:
 (1:5, 1:10)
 (6:10, 1:10)

A smarter implementation that tries to make a judicious distribution depending on Dims gets complicated fast. This is the low hanging fruit.

Hope this helps!

raminammour avatar Nov 17 '22 23:11 raminammour