EnzymeAD / Enzyme.jl

Julia bindings for the Enzyme automatic differentiator
https://enzyme.mit.edu
MIT License
455 stars 64 forks source link

Enzyme compilation failure on PowerPC #148

Closed avik-pal closed 3 years ago

avik-pal commented 3 years ago

On Julia-1.7.0-rc1

ERROR: InitError: LLVM error: No callback manager available for powerpc64le-unknown-linux-gnu
Stacktrace:
 [1] macro expansion
   @ ~/.julia/packages/LLVM/wnejv/src/executionengine/utils.jl:32 [inlined]
 [2] LocalLazyCallThroughManager
   @ ~/.julia/packages/LLVM/wnejv/src/orcv2.jl:365 [inlined]
 [3] __init__()
   @ Enzyme.Compiler.JIT ~/.julia/packages/Enzyme/afnXq/src/compiler/orcv2.jl:49
 [4] _include_from_serialized(path::String, depmods::Vector{Any})
   @ Base ./loading.jl:768
 [5] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
   @ Base ./loading.jl:854
 [6] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1097
 [7] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [8] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997
during initialization of module JIT

cc @vchuravy

vchuravy commented 3 years ago

Can you try #149?

avik-pal commented 3 years ago

I get a warning but it compiles

┌ Warning: OrcV2 initialization failed with
│   err = LLVM error: No callback manager available for powerpc64le-unknown-linux-gnu
└ @ Enzyme.Compiler.JIT ~/.julia/packages/Enzyme/X6VNF/src/compiler/orcv2.jl:80
vchuravy commented 3 years ago

Jup, that was the goal. You won't be able to use autodiff_deferred, but otherwise things should work.

vchuravy commented 3 years ago

Fixed in 0.7.2