Skip to content

Downgrading deps makes tests fail #130

@AntonOresten

Description

@AntonOresten

EDIT: I originally thought this was GPU architecture-dependent as it was inconsistent across my machines, but I found that with IRStructurizer v0.2.0 I get:

Image
Click to view log
Error in testset examples/batchmatmul:
Error During Test at /home/anton/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:334
  Got exception outside of a @test
  LoadError: AssertionError: max diff: 14.4634285
  Stacktrace:
    [1] verify(data::@NamedTuple{A::CUDA.CuArray{Float32, 3, CUDA.DeviceMemory}, B::CUDA.CuArray{Float32, 3, CUDA.DeviceMemory}, C::CUDA.CuArray{Float32, 3, CUDA.DeviceMemory}, M::Int64, K::Int64, N::Int64, Batch::Int64}, result::@NamedTuple{C::CUDA.CuArray{Float32, 3, CUDA.DeviceMemory}, times::Vector{Float64}})
      @ Main.var"##examples/batchmatmul#277".var"##277" ~/.julia/packages/cuTile/shvBr/examples/batchmatmul.jl:104
    [2] test_batch_matmul(::Type{Float32}, M::Int64, K::Int64, N::Int64, Batch::Int64, tm::Int64, tn::Int64, tk::Int64; name::Nothing)
      @ Main.var"##examples/batchmatmul#277".var"##277" ~/.julia/packages/cuTile/shvBr/examples/batchmatmul.jl:140
    [3] test_batch_matmul
      @ ~/.julia/packages/cuTile/shvBr/examples/batchmatmul.jl:135 [inlined]
    [4] main()
      @ Main.var"##examples/batchmatmul#277".var"##277" ~/.julia/packages/cuTile/shvBr/examples/batchmatmul.jl:148
    [5] top-level scope
      @ ~/.julia/packages/cuTile/shvBr/examples/batchmatmul.jl:160
    [6] include(mapexpr::Function, mod::Module, _path::String)
      @ Base ./Base.jl:307
    [7] IncludeInto
      @ ./Base.jl:308 [inlined]
    [8] #2
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:34 [inlined]
    [9] (::Base.RedirectStdStream)(thunk::Main.var"##examples/batchmatmul#277".var"##277".var"#2#3", stream::Base.DevNull)
      @ Base ./stream.jl:1464
   [10] top-level scope
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:33
   [11] eval(m::Module, e::Any)
      @ Core ./boot.jl:489
   [12] (::Main.var"##examples/batchmatmul#277".var"#2#3")()
      @ Main.var"##examples/batchmatmul#277" ~/.julia/packages/cuTile/shvBr/test/runtests.jl:32
   [13] cd(f::Main.var"##examples/batchmatmul#277".var"#2#3", dir::String)
      @ Base.Filesystem ./file.jl:112
   [14] macro expansion
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:30 [inlined]
   [15] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:335 [inlined]
   [16] macro expansion
      @ ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/Test/src/Test.jl:1776 [inlined]
   [17] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:335 [inlined]
   [18] macro expansion
      @ ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/Test/src/Test.jl:1776 [inlined]
   [19] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:334 [inlined]
   [20] macro expansion
      @ ./timing.jl:697 [inlined]
   [21] top-level scope
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:333
   [22] eval(m::Module, e::Any)
      @ Core ./boot.jl:489
   [23] (::ParallelTestRunner.var"#inner#runtest##0"{Expr, String, Expr, Float64})()
      @ ParallelTestRunner ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:326
   [24] runtest(f::Expr, name::String, init_code::Expr, start_time::Float64)
      @ ParallelTestRunner ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:359
   [25] (::var"#handle##0#handle##1"{Sockets.TCPSocket, UInt64, Bool, @Kwargs{}, Tuple{typeof(ParallelTestRunner.runtest), Expr, String, Expr, Float64}, typeof(invokelatest)})()
      @ Main ~/.julia/packages/Malt/yA40d/src/worker.jl:120
  in expression starting at /home/anton/.julia/packages/cuTile/shvBr/examples/batchmatmul.jl:160
Error in testset examples/matmul:
Error During Test at /home/anton/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:334
  Got exception outside of a @test
  LoadError: AssertionError: max diff: 14.111668
  Stacktrace:
    [1] verify(data::@NamedTuple{A::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, B::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, C::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, M::Int64, N::Int64, K::Int64}, result::@NamedTuple{C::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, times::Vector{Float64}})
      @ Main.var"##examples/matmul#277".var"##280" ~/.julia/packages/cuTile/shvBr/examples/matmul.jl:105
    [2] test_matmul(::Type{Float32}, M::Int64, N::Int64, K::Int64, tm::Int64, tn::Int64, tk::Int64; name::Nothing)
      @ Main.var"##examples/matmul#277".var"##280" ~/.julia/packages/cuTile/shvBr/examples/matmul.jl:141
    [3] test_matmul(::Type{Float32}, M::Int64, N::Int64, K::Int64, tm::Int64, tn::Int64, tk::Int64)
      @ Main.var"##examples/matmul#277".var"##280" ~/.julia/packages/cuTile/shvBr/examples/matmul.jl:136
    [4] main(T::Type)
      @ Main.var"##examples/matmul#277".var"##280" ~/.julia/packages/cuTile/shvBr/examples/matmul.jl:149
    [5] main()
      @ Main.var"##examples/matmul#277".var"##280" ~/.julia/packages/cuTile/shvBr/examples/matmul.jl:146
    [6] top-level scope
      @ ~/.julia/packages/cuTile/shvBr/examples/matmul.jl:162
    [7] include(mapexpr::Function, mod::Module, _path::String)
      @ Base ./Base.jl:307
    [8] IncludeInto
      @ ./Base.jl:308 [inlined]
    [9] #2
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:34 [inlined]
   [10] (::Base.RedirectStdStream)(thunk::Main.var"##examples/matmul#277".var"##280".var"#2#3", stream::Base.DevNull)
      @ Base ./stream.jl:1464
   [11] top-level scope
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:33
   [12] eval(m::Module, e::Any)
      @ Core ./boot.jl:489
   [13] (::Main.var"##examples/matmul#277".var"#2#3")()
      @ Main.var"##examples/matmul#277" ~/.julia/packages/cuTile/shvBr/test/runtests.jl:32
   [14] cd(f::Main.var"##examples/matmul#277".var"#2#3", dir::String)
      @ Base.Filesystem ./file.jl:112
   [15] macro expansion
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:30 [inlined]
   [16] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:335 [inlined]
   [17] macro expansion
      @ ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/Test/src/Test.jl:1776 [inlined]
   [18] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:335 [inlined]
   [19] macro expansion
      @ ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/Test/src/Test.jl:1776 [inlined]
   [20] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:334 [inlined]
   [21] macro expansion
      @ ./timing.jl:697 [inlined]
   [22] top-level scope
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:333
   [23] eval(m::Module, e::Any)
      @ Core ./boot.jl:489
   [24] (::ParallelTestRunner.var"#inner#runtest##0"{Expr, String, Expr, Float64})()
      @ ParallelTestRunner ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:326
   [25] runtest(f::Expr, name::String, init_code::Expr, start_time::Float64)
      @ ParallelTestRunner ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:359
   [26] (::var"#handle##0#handle##1"{Sockets.TCPSocket, UInt64, Bool, @Kwargs{}, Tuple{typeof(ParallelTestRunner.runtest), Expr, String, Expr, Float64}, typeof(invokelatest)})()
      @ Main ~/.julia/packages/Malt/yA40d/src/worker.jl:120
  in expression starting at /home/anton/.julia/packages/cuTile/shvBr/examples/matmul.jl:162
Error in testset scalar indexing as loop bound:
Test Failed at /home/anton/.julia/packages/cuTile/shvBr/test/execution/control_flow.jl:105
  Expression: out_cpu[(bid - 1) * 16 + 1:bid * 16] ≈ expected
   Evaluated: Float32[0.879777, 0.93038654, 0.50196046, 0.5840501, 0.20408784, 0.59009755, 0.9062521, 0.41234535, 0.08410301, 0.84389627, 0.3908352, 0.8718339, 0.72525173, 0.20444797, 0.21902405, 0.5356413] ≈ Float32[0.92256486, 1.5014486, 0.9544239, 1.0048158, 0.55284977, 0.85161656, 1.8732452, 0.86960614, 1.067309, 0.95421255, 0.5070774, 1.0760301, 1.5747511, 0.402138, 0.7896106, 0.7162036]

Error in testset scalar indexing as loop bound:
Test Failed at /home/anton/.julia/packages/cuTile/shvBr/test/execution/control_flow.jl:105
  Expression: out_cpu[(bid - 1) * 16 + 1:bid * 16] ≈ expected
   Evaluated: Float32[0.92256486, 1.5014486, 0.9544239, 1.0048158, 0.55284977, 0.85161656, 1.8732452, 0.86960614, 1.067309, 0.95421255, 0.5070774, 1.0760301, 1.5747511, 0.402138, 0.7896106, 0.7162036] ≈ Float32[1.3424685, 2.210954, 1.4987373, 1.7911042, 1.2071617, 1.2872905, 2.5009568, 1.2338834, 1.7725074, 1.8615453, 1.4450717, 1.7008188, 2.5657296, 0.9148998, 1.5679075, 0.80467093]

Error in testset scalar indexing as loop bound:
Test Failed at /home/anton/.julia/packages/cuTile/shvBr/test/execution/control_flow.jl:105
  Expression: out_cpu[(bid - 1) * 16 + 1:bid * 16] ≈ expected
   Evaluated: Float32[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] ≈ Float32[0.879777, 0.93038654, 0.50196046, 0.5840501, 0.20408784, 0.59009755, 0.9062521, 0.41234535, 0.08410301, 0.84389627, 0.3908352, 0.8718339, 0.72525173, 0.20444797, 0.21902405, 0.5356413]

Error in testset examples/layernorm:
Error During Test at /home/anton/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:334
  Got exception outside of a @test
  LoadError: AssertionError: Y mismatch
  Stacktrace:
    [1] verify(data::@NamedTuple{X::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, W::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, B::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, Y::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, Mean::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, Rstd::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, DY::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, DX::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, DW_partial::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, DB_partial::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, Locks::CUDA.CuArray{Int64, 1, CUDA.DeviceMemory}, FINAL_DW::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, FINAL_DB::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, M::Int64, N::Int64, eps::Float32, GROUP_SIZE_M::Int64}, result::@NamedTuple{Y::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, Mean::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, Rstd::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, DX::CUDA.CuArray{Float32, 2, CUDA.DeviceMemory}, FINAL_DW::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, FINAL_DB::CUDA.CuArray{Float32, 1, CUDA.DeviceMemory}, times_fwd::Vector{Float64}, times_bwd::Vector{Float64}})
      @ Main.var"##examples/layernorm#277".var"##279" ~/.julia/packages/cuTile/shvBr/examples/layernorm.jl:360
    [2] test_layernorm(M::Int64, N::Int64, TILE_N::Int64; TILE_M::Int64, eps::Float32, name::Nothing)
      @ Main.var"##examples/layernorm#277".var"##279" ~/.julia/packages/cuTile/shvBr/examples/layernorm.jl:380
    [3] test_layernorm
      @ ~/.julia/packages/cuTile/shvBr/examples/layernorm.jl:375 [inlined]
    [4] main()
      @ Main.var"##examples/layernorm#277".var"##279" ~/.julia/packages/cuTile/shvBr/examples/layernorm.jl:393
    [5] top-level scope
      @ ~/.julia/packages/cuTile/shvBr/examples/layernorm.jl:400
    [6] include(mapexpr::Function, mod::Module, _path::String)
      @ Base ./Base.jl:307
    [7] IncludeInto
      @ ./Base.jl:308 [inlined]
    [8] #2
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:34 [inlined]
    [9] (::Base.RedirectStdStream)(thunk::Main.var"##examples/layernorm#277".var"##279".var"#2#3", stream::Base.DevNull)
      @ Base ./stream.jl:1464
   [10] top-level scope
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:33
   [11] eval(m::Module, e::Any)
      @ Core ./boot.jl:489
   [12] (::Main.var"##examples/layernorm#277".var"#2#3")()
      @ Main.var"##examples/layernorm#277" ~/.julia/packages/cuTile/shvBr/test/runtests.jl:32
   [13] cd(f::Main.var"##examples/layernorm#277".var"#2#3", dir::String)
      @ Base.Filesystem ./file.jl:112
   [14] macro expansion
      @ ~/.julia/packages/cuTile/shvBr/test/runtests.jl:30 [inlined]
   [15] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:335 [inlined]
   [16] macro expansion
      @ ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/Test/src/Test.jl:1776 [inlined]
   [17] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:335 [inlined]
   [18] macro expansion
      @ ~/.julia/juliaup/julia-1.12.5+0.x64.linux.gnu/share/julia/stdlib/v1.12/Test/src/Test.jl:1776 [inlined]
   [19] macro expansion
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:334 [inlined]
   [20] macro expansion
      @ ./timing.jl:697 [inlined]
   [21] top-level scope
      @ ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:333
   [22] eval(m::Module, e::Any)
      @ Core ./boot.jl:489
   [23] (::ParallelTestRunner.var"#inner#runtest##0"{Expr, String, Expr, Float64})()
      @ ParallelTestRunner ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:326
   [24] runtest(f::Expr, name::String, init_code::Expr, start_time::Float64)
      @ ParallelTestRunner ~/.julia/packages/ParallelTestRunner/EzCGZ/src/ParallelTestRunner.jl:359
   [25] (::var"#handle##0#handle##1"{Sockets.TCPSocket, UInt64, Bool, @Kwargs{}, Tuple{typeof(ParallelTestRunner.runtest), Expr, String, Expr, Float64}, typeof(invokelatest)})()
      @ Main ~/.julia/packages/Malt/yA40d/src/worker.jl:120
  in expression starting at /home/anton/.julia/packages/cuTile/shvBr/examples/layernorm.jl:400
ERROR: LoadError: Test run finished with errors
in expression starting at /home/anton/.julia/packages/cuTile/shvBr/test/runtests.jl:54
ERROR: Package cuTile errored during testing

So the compat entry should be updated. This is a rare problem because Julia packages follows semver and we're most often on the latest possible version, but there's some issue with General at the moment I think. See https://julialang.slack.com/archives/C67910KEH/p1773921174958079

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions