Skip to content

Conversation

github-actions[bot]
Copy link
Contributor

This pull request changes the compat entry for the GPUCompiler package from 0.23, 0.24, 0.25, 0.26, 0.27 to 0.23, 0.24, 0.25, 0.26, 0.27, 1.
This keeps the compat entries for earlier versions.

Note: I have not tested your package with this new compat entry.
It is your responsibility to make sure that your package tests pass before you merge this pull request.

@giordano giordano force-pushed the compathelper/new_version/2024-10-10-20-56-22-252-00104890243 branch from 170007d to f4b6abb Compare October 10, 2024 20:56
@giordano giordano force-pushed the compathelper/new_version/2024-10-10-20-56-22-252-00104890243 branch 3 times, most recently from 01510b6 to e9e9f57 Compare February 23, 2025 17:54
@giordano giordano closed this Jun 20, 2025
@giordano giordano reopened this Jun 20, 2025
@giordano

This comment was marked as resolved.

@giordano giordano mentioned this pull request Jun 20, 2025
8 tasks
@giordano giordano force-pushed the compathelper/new_version/2024-10-10-20-56-22-252-00104890243 branch from e9e9f57 to f05de79 Compare August 30, 2025 20:23
@giordano

This comment was marked as resolved.

@giordano giordano force-pushed the compathelper/new_version/2024-10-10-20-56-22-252-00104890243 branch from f05de79 to a213cce Compare August 31, 2025 10:56
@giordano
Copy link
Collaborator

https://github.com/JuliaIPU/IPUToolkit.jl/actions/runs/17356158450/job/49269413471?pr=73#step:10:157

Test program: test_adam: Error During Test at /__w/IPUToolkit.jl/IPUToolkit.jl/test/compiler.jl:326
  Got exception outside of a @test
  AssertionError: primal_params isa PrimalCompilerParams
  Stacktrace:
    [1] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{IPUToolkit.IPUCompiler.IPUCompilerParams}})
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/nqe7m/src/compiler.jl:4275
    [2] codegen(output::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{})
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:77
    [3] codegen
      @ ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:71 [inlined]
    [4] (::GPUCompiler.var"#160#164"{GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}})()
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:228
    [5] get!(default::GPUCompiler.var"#160#164"{GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}}, h::Dict{GPUCompiler.CompilerJob, String}, key::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}})
      @ Base ./dict.jl:479
    [6] macro expansion
      @ ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:224 [inlined]
    [7] emit_llvm(job::GPUCompiler.CompilerJob; kwargs::@Kwargs{})
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/utils.jl:116
    [8] emit_llvm
      @ ~/.julia/packages/GPUCompiler/Ecaql/src/utils.jl:114 [inlined]
    [9] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{})
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:95
   [10] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob)
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:80
   [11] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{})
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:67
   [12] compile
      @ ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:55 [inlined]
   [13] (::IPUToolkit.IPUCompiler.var"#27#28"{GPUCompiler.CompilerJob{GPUCompiler.NativeCompilerTarget, IPUToolkit.IPUCompiler.IPUCompilerParams}})(ctx::LLVM.Context)
      @ IPUToolkit.IPUCompiler /__w/IPUToolkit.jl/IPUToolkit.jl/src/compiler/codelet.jl:286
   [14] JuliaContext(f::IPUToolkit.IPUCompiler.var"#27#28"{GPUCompiler.CompilerJob{GPUCompiler.NativeCompilerTarget, IPUToolkit.IPUCompiler.IPUCompilerParams}}; kwargs::@Kwargs{})
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:34
   [15] JuliaContext(f::Function)
      @ GPUCompiler ~/.julia/packages/GPUCompiler/Ecaql/src/driver.jl:25
   [16] __build_codelet(graph::IPUToolkit.Poplar.GraphAllocated, kernel::Function, origKernel::Function, name::String)
      @ IPUToolkit.IPUCompiler /__w/IPUToolkit.jl/IPUToolkit.jl/src/compiler/codelet.jl:284
   [17] _build_codelet(graph::IPUToolkit.Poplar.GraphAllocated, kernel::Function, origKernel::Function, name::String)
      @ IPUToolkit.IPUCompiler /__w/IPUToolkit.jl/IPUToolkit.jl/src/compiler/codelet.jl:338
   [18] macro expansion
      @ /__w/IPUToolkit.jl/IPUToolkit.jl/src/compiler/program.jl:72 [inlined]
   [19] test_adam(device::IPUToolkit.Poplar.DeviceAllocated)
      @ Main.IPUCompilerTest /__w/IPUToolkit.jl/IPUToolkit.jl/test/compiler.jl:273
   [20] macro expansion
      @ /__w/IPUToolkit.jl/IPUToolkit.jl/test/compiler.jl:354 [inlined]
   [21] macro expansion
      @ /__t/julia/1.10.10/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1669 [inlined]
   [22] macro expansion
      @ /__w/IPUToolkit.jl/IPUToolkit.jl/test/compiler.jl:326 [inlined]
   [23] macro expansion
      @ /__t/julia/1.10.10/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
   [24] top-level scope
      @ /__w/IPUToolkit.jl/IPUToolkit.jl/test/compiler.jl:320
   [25] include(fname::String)
      @ Base.MainInclude ./client.jl:494
   [26] top-level scope
      @ /__w/IPUToolkit.jl/IPUToolkit.jl/test/runtests.jl:2
   [27] include(fname::String)
      @ Base.MainInclude ./client.jl:494
   [28] top-level scope
      @ none:6
   [29] eval
      @ ./boot.jl:385 [inlined]
   [30] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [31] _start()
      @ Base ./client.jl:557

@vchuravy I think I'd need your help to fix this one 🥲 The assert is coming from EnzymeAD/Enzyme.jl#2424

@giordano giordano force-pushed the compathelper/new_version/2024-10-10-20-56-22-252-00104890243 branch from a213cce to fc20735 Compare August 31, 2025 13:32
@giordano giordano force-pushed the compathelper/new_version/2024-10-10-20-56-22-252-00104890243 branch from e49c070 to 98d5c0c Compare August 31, 2025 15:29
@giordano
Copy link
Collaborator

giordano commented Sep 5, 2025

For the record, we debugged the issue above with Valentin today and it seems to the be fixed by EnzymeAD/Enzyme.jl#2552, which simply replaces the assertion with a debug message (we only need to fix the content of the message though). Allowing for NativeCompilerTarget without primal compiler params doesn't appear to cause problems in this instance.

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