DistributedArrays.jl
DistributedArrays.jl copied to clipboard
Can't print errors during tests
This makes debugging quite infuriating ;)
test DArray reduce: Error During Test at /home/vchuravy/.julia/dev/DistributedArrays/test/darray.jl:217
Got exception outside of a @test
scalar indexing disabled
Stacktrace:
[1] _scalarindexingallowed at /home/vchuravy/.julia/dev/DistributedArrays/src/darray.jl:582 [inlined]
[2] getindex at /home/vchuravy/.julia/dev/DistributedArrays/src/darray.jl:598 [inlined]
[3] _show_nonempty(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::DArray{Int64,2,Array{Int64,2}}, ::String) at ./arrayshow.jl:386
[4] show(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::DArray{Int64,2,Array{Int64,2}}) at ./arrayshow.jl:421
[5] show_delim_array(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Tuple{DArray{Int64,2,Array{Int64,2}}}, ::Char, ::Char, ::Char, ::Bool, ::Int64, ::Int64) at ./show.jl:695
[6] show_delim_array at ./show.jl:680 [inlined]
[7] show(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Tuple{DArray{Int64,2,Array{Int64,2}}}) at ./show.jl:714
[8] show_default(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Any) at ./show.jl:332
[9] show(::IOContext{Base.GenericIOBuffer{Array{UInt8,1}}}, ::Any) at ./show.jl:315
[10] #sprint#325(::Pair{Symbol,Bool}, ::Int64, ::Function, ::Function, ::MethodError) at ./strings/io.jl:99
[11] #sprint at ./none:0 [inlined]
[12] Test.Error(::Symbol, ::Expr, ::MethodError, ::Array{Union{Ptr{Nothing}, InterpreterIP},1}, ::LineNumberNode) at /build/julia/src/julia/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:144
[13] top-level scope at /build/julia/src/julia/usr/share/julia/stdlib/v1.0/Test/src/Test.jl:1090
[14] include(::String) at ./client.jl:388
[15] top-level scope at none:0
[16] include(::String) at ./client.jl:388
[17] top-level scope at none:0
You must be hitting the same issue in CuArrays. We could maybe overwrite the show methods to avoid scalar indexing.
Yes we are and this is how we work around it... https://github.com/JuliaGPU/GPUArrays.jl/blob/a305f78d8cd7310c0fa07310e8974d5350cc293b/src/abstractarray.jl#L53-L74
In any case, it would be great to have our own array show methods since the fallbacks are extremely slow for distributed arrays.