-
Notifications
You must be signed in to change notification settings - Fork 38
Closed
EnzymeAD/Enzyme-JAX
#1497Description
When calling MLIR.API.enzymexlaLapackSideAttrGet, I get the following error:
1-element ExceptionStack:
could not load symbol "enzymexlaLapackSideAttrGet":
/mnt2/snonk/Reactant.jl/deps/ReactantExtra/bazel-bin/libReactantExtra.so: undefined symbol: enzymexlaLapackSideAttrGet
Stacktrace:
[1] enzymexlaLapackSideAttrGet(ctx::Reactant.MLIR.IR.Context, left_side::Int64)
@ Reactant.MLIR.API /mnt2/snonk/Reactant.jl/src/mlir/libMLIR_h.jl:9678
[2] lapack_symm(A::Reactant.TracedRArray{Float32, 2}, B::Reactant.TracedRArray{Float32, 2}, C::Reactant.TracedRArray{Float32, 2}, alpha::Reactant.TracedRNumber{Float32}, beta::Reactant.TracedRNumber{Float32}; side::Symbol, uplo::Symbol, location::Reactant.MLIR.IR.Location)
@ Reactant.Ops /mnt2/snonk/Reactant.jl/src/Ops.jl:951
[3] overloaded_mul!(C::Reactant.TracedRArray{T, 2} where T, A::Symmetric, B::AbstractMatrix, α::Bool, β::Bool)
@ Reactant.TracedLinearAlgebra /mnt2/snonk/Reactant.jl/src/stdlibs/LinearAlgebra.jl:293
[4] #mul!
@ /mnt2/snonk/Reactant.jl/src/Overlay.jl:125 [inlined]
[5] (::Nothing)(none::typeof(mul!), none::Reactant.TracedRArray{Float32, 2}, none::Symmetric{Reactant.TracedRNumber{Float32}, Reactant.TracedRArray{Float32, 2}}, none::Reactant.TracedRArray{Float32, 2}, none::Bool, none::Bool)
@ Reactant ./<missing>:0
[6] call_with_reactant(::typeof(mul!), ::Reactant.TracedRArray{Float32, 2}, ::Symmetric{Reactant.TracedRNumber{Float32}, Reactant.TracedRArray{Float32, 2}}, ::Reactant.TracedRArray{Float32, 2}, ::Bool, ::Bool)
@ Reactant /mnt2/snonk/Reactant.jl/src/utils.jl:519
[7] mul!(C::Reactant.TracedRArray{Float32, 2}, A::Symmetric{Reactant.TracedRNumber{Float32}, Reactant.TracedRArray{Float32, 2}}, B::Reactant.TracedRArray{Float32, 2})
@ Reactant /mnt2/snonk/Reactant.jl/src/Overlay.jl:140
[8] *
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:114 [inlined]
[9] (::Nothing)(none::typeof(*), none::Symmetric{Reactant.TracedRNumber{Float32}, Reactant.TracedRArray{Float32, 2}}, none::Reactant.TracedRArray{Float32, 2})
@ Reactant ./<missing>:0
[10] getproperty
@ ./Base.jl:49 [inlined]
[11] size
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/symmetric.jl:225 [inlined]
[12] size
@ ./abstractarray.jl:42 [inlined]
[13] matprod_dest
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:117 [inlined]
[14] *
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:114 [inlined]
[15] call_with_reactant(::typeof(*), ::Symmetric{Reactant.TracedRNumber{Float32}, Reactant.TracedRArray{Float32, 2}}, ::Reactant.TracedRArray{Float32, 2})
@ Reactant /mnt2/snonk/Reactant.jl/src/utils.jl:0
[16] mat_mat_scalar
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:1160 [inlined]
[17] *
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:1122 [inlined]
[18] (::Nothing)(none::typeof(*), none::Symmetric{Reactant.TracedRNumber{Float32}, Reactant.TracedRArray{Float32, 2}}, none::Reactant.TracedRArray{Float32, 2}, none::Float32)
@ Reactant ./<missing>:0
[19] mat_mat_scalar
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:1160 [inlined]
[20] *
@ /mnt2/snonk/.julia/juliaup/julia-1.11.7+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/matmul.jl:1122 [inlined]
[21] call_with_reactant(::typeof(*), ::Symmetric{Reactant.TracedRNumber{Float32}, Reactant.TracedRArray{Float32, 2}}, ::Reactant.TracedRArray{Float32, 2}, ::Float32)
@ Reactant /mnt2/snonk/Reactant.jl/src/utils.jl:0
[22] make_mlir_fn(f::typeof(*), args::Tuple{Symmetric{Float32, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}}, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}, Float32}, kwargs::@NamedTuple{}, name::String, concretein::Bool; toscalar::Bool, return_dialect::Symbol, args_in_result::Symbol, construct_function_without_args::Bool, do_transpose::Bool, input_shardings::Nothing, output_shardings::Nothing, runtime::Val{:PJRT}, verify_arg_names::Nothing, argprefix::Symbol, resprefix::Symbol, resargprefix::Symbol, num_replicas::Int64, optimize_then_pad::Bool)
@ Reactant.TracedUtils /mnt2/snonk/Reactant.jl/src/TracedUtils.jl:345
[23] compile_mlir!(mod::Reactant.MLIR.IR.Module, f::Function, args::Tuple{Symmetric{Float32, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}}, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}, Float32}, compile_options::CompileOptions, callcache::Dict{Vector, @NamedTuple{f_name::String, mlir_result_types::Vector{Reactant.MLIR.IR.Type}, traced_result, mutated_args::Vector{Int64}, linear_results::Vector{Union{ReactantCore.MissingTracedValue, Reactant.TracedRArray, Reactant.TracedRNumber}}, fnwrapped::Bool, argprefix::Symbol, resprefix::Symbol, resargprefix::Symbol}}, sdycache::Dict{Tuple{AbstractVector{Int64}, NTuple{var"#s1742", Symbol} where var"#s1742", NTuple{N, Int64} where N}, @NamedTuple{sym_name::Reactant.MLIR.IR.Attribute, mesh_attr::Reactant.MLIR.IR.Attribute, mesh_op::Reactant.MLIR.IR.Operation, mesh::Reactant.Sharding.Mesh}}; fn_kwargs::@NamedTuple{}, backend::String, runtime::Val{:PJRT}, legalize_stablehlo_to_mhlo::Bool, kwargs::@Kwargs{})
@ Reactant.Compiler /mnt2/snonk/Reactant.jl/src/Compiler.jl:1605
[24] compile_mlir!
@ /mnt2/snonk/Reactant.jl/src/Compiler.jl:1572 [inlined]
[25] (::Reactant.Compiler.var"#9#10"{Nothing, typeof(*), Tuple{Symmetric{Float32, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}}, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}, Float32}})(ctx::Reactant.MLIR.IR.Context)
@ Reactant.Compiler /mnt2/snonk/Reactant.jl/src/Compiler.jl:1410
[26] with_context(f::Reactant.Compiler.var"#9#10"{Nothing, typeof(*), Tuple{Symmetric{Float32, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}}, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}, Float32}}; allow_use_existing::Bool)
@ Reactant.MLIR.IR /mnt2/snonk/Reactant.jl/src/mlir/IR/Context.jl:99
[27] with_context(f::Function)
@ Reactant.MLIR.IR /mnt2/snonk/Reactant.jl/src/mlir/IR/Context.jl:82
[28] compile_mlir(f::Function, args::Tuple{Symmetric{Float32, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}}, ConcretePJRTArray{Float32, 2, 1, Reactant.Sharding.ShardInfo{Reactant.Sharding.NoSharding, Nothing}}, Float32}; client::Nothing, kwargs::@Kwargs{fn_kwargs::@NamedTuple{}, reshape_propagate::Symbol, raise_first::Bool, assert_nonallocating::Bool, legalize_chlo_to_stablehlo::Bool, transpose_propagate::Symbol, donated_args::Symbol, optimize_then_pad::Bool, cudnn_hlo_optimize::Bool, compile_options::Missing, no_nan::Bool, raise::Bool, shardy_passes::Symbol, optimize::Bool, optimize_communications::Bool})
@ Reactant.Compiler /mnt2/snonk/Reactant.jl/src/Compiler.jl:1406
[29] top-level scope
@ /mnt2/snonk/Reactant.jl/src/Compiler.jl:2644
was advised to cc @wsmoses
Metadata
Metadata
Assignees
Labels
No labels