ERROR: MethodError: no method matching enable_finalizers()

I try to use LinearAlgebra.LAPACK.potrf!('U', A) and get:

ERROR: MethodError: no method matching enable_finalizers()
Closest candidates are:
  enable_finalizers(::Bool) at gcutils.jl:117
Stacktrace:
  [1] (::CUDA.APIUtils.var"#check_cache#7"{CUDA.APIUtils.HandleCache{CuContext, Ptr{Nothing}}, CuContext})(f::CUDA.APIUtils.var"#5#8")
    @ CUDA.APIUtils ~\.julia\packages\CUDA\VGl9W\lib\utils\cache.jl:36
  [2] (::CUDA.APIUtils.var"#check_cache#7"{CUDA.APIUtils.HandleCache{CuContext, Ptr{Nothing}}, CuContext})()
    @ CUDA.APIUtils ~\.julia\packages\CUDA\VGl9W\lib\utils\cache.jl:20
  [3] pop!(f::Function, cache::CUDA.APIUtils.HandleCache{CuContext, Ptr{Nothing}}, key::CuContext)
    @ CUDA.APIUtils ~\.julia\packages\CUDA\VGl9W\lib\utils\cache.jl:40
  [4] (::CUDA.CUSOLVER.var"#new_state#1292")(cuda::NamedTuple{(:device, :context, :stream, :math_mode, :math_precision), Tuple{CuDevice, CuContext, CuStream, CUDA.MathMode, Symbol}})
    @ CUDA.CUSOLVER ~\.julia\packages\CUDA\VGl9W\lib\cusolver\CUSOLVER.jl:44
  [5] (::CUDA.CUSOLVER.var"#1290#1296"{CUDA.CUSOLVER.var"#new_state#1292", NamedTuple{(:device, :context, :stream, :math_mode, :math_precision), Tuple{CuDevice, CuContext, CuStream, CUDA.MathMode, Symbol}}})()
    @ CUDA.CUSOLVER ~\.julia\packages\CUDA\VGl9W\lib\cusolver\CUSOLVER.jl:58
  [6] get!
    @ .\dict.jl:465 [inlined]
  [7] dense_handle()
    @ CUDA.CUSOLVER ~\.julia\packages\CUDA\VGl9W\lib\cusolver\CUSOLVER.jl:57
  [8] bufferSize
    @ ~\.julia\packages\CUDA\VGl9W\lib\cusolver\dense.jl:28 [inlined]
  [9] get_size
    @ ~\.julia\packages\CUDA\VGl9W\lib\utils\call.jl:58 [inlined]
 [10] with_workspace(f::CUDA.CUSOLVER.var"#948#951"{Char, CuArray{Float64, 2, CUDA.Mem.DeviceBuffer}, CuArray{Int32, 1, CUDA.Mem.DeviceBuffer}, Int64, Int64}, eltyp::Type{Float64}, size::CUDA.CUSOLVER.var"#bufferSize#950"{Char, CuArray{Float64, 2, CUDA.Mem.DeviceBuffer}, Int64, Int64}, fallback::Nothing)    @ CUDA.APIUtils ~\.julia\packages\CUDA\VGl9W\lib\utils\call.jl:61
 [11] with_workspace
    @ ~\.julia\packages\CUDA\VGl9W\lib\utils\call.jl:58 [inlined]
 [12] potrf!(uplo::Char, A::CuArray{Float64, 2, CUDA.Mem.DeviceBuffer})
    @ CUDA.CUSOLVER ~\.julia\packages\CUDA\VGl9W\lib\cusolver\dense.jl:33
julia> CUDA.version()
v"11.4.0"

CUDA.jl version = “3.4.1”

What can it be?

Which version of Julia?

Version 1.6.0-beta1.0 (2021-01-08)

That’s a very unsupported version; I recommend you upgrade to the released version of Julia 1.6.

That said, CUDA.jl should probably stick to the documented version of this API, so I’ve created https://github.com/JuliaGPU/CUDA.jl/pull/1111

1 Like

Thanx! In Julia Version 1.6.2 (2021-07-14) it seems working fine!