DistributedArrays.jl
DistributedArrays.jl copied to clipboard
Make similar produce the same distribution when the size is the same
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!