JuliaParallel / JuliaParallel/DistributedArrays.jl

Problem with multi-dimensional indexing

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

Description

If I define a DArray, say
```
julia> a = dfill(10, (4,4), workers(), [1 4])
4×4 DArray{Int64,2,Array{Int64,2}}:
10 10 10 10
10 10 10 10
10 10 10 10
10 10 10 10
```
then its values can be retrieved with one-dimensional indexing
```
julia> a[5:8]
4-element view(reshape(::DArray{Int64,2,Array{Int64,2}}, 16), 5:8) with eltype Int64:
10
10
10
10
```
but with multi-dimensional indexing an error is returned:
```
julia> a[:,2]
4-element view(::DArray{Int64,2,Array{Int64,2}}, :, 2) with eltype Int64:
Error showing value of type SubArray{Int64,1,DArray{Int64,2,Array{Int64,2}},Tuple{Base.Slice{Base.OneTo{Int64}},Int64},false}:
ERROR: invoke: argument type error
```

I'm running Julia v1.1.0 and DistributedArrays v0.6.0.

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the example with Julia v1.1.0 and DistributedArrays v0.6.0, comparing one-dimensional indexing with `a[:,2]`. Trace the DArray multi-dimensional indexing path and determine why displaying the resulting view raises an `invoke: argument type error`. Done means the multidimensional slice returns and displays its values without that error.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.