Cant compile CUDA v3.3.1 on PowerPC : TypeError in Atomic

Hi, running on a powerPC arch, I was previously with CUDA v3.2.1, upgrading to v3.3.1 I get

ulia> using CUDA
[ Info: Precompiling CUDA [052768ef-5323-5732-b1bb-66c8b64840ba]
ERROR: LoadError: LoadError: TypeError: in Atomic, in T, expected T<:Union{Bool, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8}, got Type{Float64}
  [1] top-level scope
    @ ~/.julia/packages/CUDA/Ozu5O/src/pool.jl:450
  [2] include(mod::Module, _path::String)
    @ Base ./Base.jl:386
  [3] include(x::String)
    @ CUDA ~/.julia/packages/CUDA/Ozu5O/src/CUDA.jl:1
  [4] top-level scope
    @ ~/.julia/packages/CUDA/Ozu5O/src/CUDA.jl:67
  [5] include
    @ ./Base.jl:386 [inlined]
  [6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1213
  [7] top-level scope
    @ none:1
  [8] eval
    @ ./boot.jl:360 [inlined]
  [9] eval(x::Expr)
    @ Base.MainInclude ./client.jl:446
 [10] top-level scope
    @ none:1
in expression starting at /m100/home/userexternal/jdavid00/.julia/packages/CUDA/Ozu5O/src/pool.jl:450
in expression starting at /m100/home/userexternal/jdavid00/.julia/packages/CUDA/Ozu5O/src/CUDA.jl:1
ERROR: Failed to precompile CUDA [052768ef-5323-5732-b1bb-66c8b64840ba] to /m100/home/userexternal/jdavid00/.julia/compiled/v1.6/CUDA/jl_7lfDNk.
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::Base.TTY, internal_stdout::Base.TTY)
   @ Base ./loading.jl:1360
 [3] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1306
 [4] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1021
 [5] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [6] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901


This with either julia-1.6.1 or julia-1.7.0-beta2
Except pinning back to v3.2.1, is there something I can do ?

Already fixed: Use a plain integer to keep track of pool last use time. by maleadt · Pull Request #1009 · JuliaGPU/CUDA.jl · GitHub. So use CUDA#master for now.

1 Like