JuliaParallel / JuliaParallel/DistributedArrays.jl

Multiple chunks on one process

Open
#183 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
205
Forks
34
PR merge metrics
No merged PRs in 30d

Description

I build a DArray as follows:

```
@everywhere using DistributedArrays
r1 = @spawnat 2 zeros(4,4)
r2 = @spawnat 2 zeros(4,4)
r3 = @spawnat 2 rand(4,4)
r4 = @spawnat 3 rand(4,4)
ras = [r1 r2; r3 r4]
D = DArray(ras)
```

My expectation is that the output should have two 4x4 blocks of zeros and two 4x4 blocks of random numbers. Instead, I get three blocks of zeros and one block of random numbers:

```
8×8 DArray{Float64,2,Array{Float64,2}}:
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.525043 0.321681 0.489682 0.586815
0.0 0.0 0.0 0.0 0.569794 0.780382 0.542156 0.215128
0.0 0.0 0.0 0.0 0.00308504 0.912877 0.179453 0.568009
0.0 0.0 0.0 0.0 0.410886 0.333188 0.743346 0.969894
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the example using DArray and the four spawned 4×4 arrays, then trace how DArray consumes the block matrix and assigns chunks to processes. Compare the observed 8×8 layout with the expected two zero and two random blocks; done means the intended block values are preserved, with a regression test for multiple chunks on one process.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.