Enzyme.jl
Enzyme.jl copied to clipboard
ERROR: AssertionError: Enzyme Internal Error: Illegal calling convention fixup
This is on Enzyme.jl 0.12.0
and
julia> versioninfo()
Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: macOS (x86_64-apple-darwin22.4.0)
CPU: 12 × Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
Threads: 6 default, 0 interactive, 3 GC (on 12 virtual cores)
Environment:
JULIA_PKG_USE_CLI_GIT = true
JULIA_NUM_THREADS = 6
JULIA_EDITOR = code
I've got quite a bit of code I'm trying to differentiate through, so wouldn't be easy to make an MWE. I hope somehow the info in the error message is enough to diagnose my mistake. After a long time spent compiling I got this error: https://gist.github.com/SamuelBadr/3f886f19364d11a250d89561e4e8db19
In case it's relevant, this was preceded by some warnings:
┌ Warning: Using fallback BLAS replacements for (["zgemm_64_", "zherk_64_", "zhemv_64_", "zgemv_64_", "dznrm2_64_"]), performance may be degraded
└ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
┌ Warning: Type does not have a definite number of fields
│ T = Tuple{Vararg{Base.OneTo{Int64}}}
└ @ Enzyme ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
┌ Warning: Type does not have a definite number of fields
│ T = Tuple{Vararg{Int64}}
└ @ Enzyme ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
┌ Warning: active variables passed by value to jl_new_task are not yet supported
└ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
┌ Warning: Using fallback BLAS replacements for (["zgemm_64_", "zherk_64_", "zhemv_64_", "zgemv_64_", "dznrm2_64_"]), performance may be degraded
└ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
┌ Warning: Type does not have a definite number of fields
│ T = Tuple{Vararg{Base.OneTo{Int64}}}
└ @ Enzyme ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
┌ Warning: Type does not have a definite number of fields
│ T = Tuple{Vararg{Int64}}
└ @ Enzyme ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
┌ Warning: active variables passed by value to jl_new_task are not yet supported
└ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/kqxyC/src/utils.jl:59
Okay that's definitely an error that we'd need to try to reproduce to be able to fix.
If even not minimal can you share the code that triggers?
bump @SamuelBadr
Oh, I'm sorry but I can't share the code. I instead started minimizing it but something else got in the way. (Revising my thesis!)
I'll update here as soon as I'm able to.
@SamuelBadr without a reproducer I'm going to go ahead and close the issue. Please reopen if it still errs.