Skip to content

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

Open
raminammour wants to merge 1 commit intoJuliaParallel:masterfrom
raminammour:patch-4
Open

Make similar produce the same distribution when the size is the same#240
raminammour wants to merge 1 commit intoJuliaParallel:masterfrom
raminammour:patch-4

Conversation

@raminammour
Copy link
Contributor

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!

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!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant