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 Use the documented version of the enable_finalizers API. by maleadt · Pull Request #1111 · JuliaGPU/CUDA.jl · GitHu

1 Like

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