Hello,
I am trying to get into the SciML ecosystem and as such I installed DiffEqFlux. During installation, I get this error
Blockquote
DiffEqFlux [aae7a2af-3d4f-5e19-a356-7da93b79d9d0]
│ ┌ Error: Failed to initialize CUDA
│ │ exception =
│ │ CUDA error (code 100, CUDA_ERROR_NO_DEVICE)
│ │ Stacktrace:
│ │ [1] throw_api_error(res::CUDA.cudaError_enum)
│ │ @ CUDA ~/.julia/packages/CUDA/p5OVK/lib/cudadrv/libcuda.jl:27
│ │ [2] macro expansion
│ │ @ ~/.julia/packages/CUDA/p5OVK/lib/cudadrv/libcuda.jl:35 [inlined]
│ │ [3] cuInit
│ │ @ ~/.julia/packages/CUDA/p5OVK/lib/utils/call.jl:26 [inlined]
│ │ [4] init()
│ │ @ CUDA ~/.julia/packages/CUDA/p5OVK/src/initialization.jl:125
│ │ [5] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
│ │ @ Base ./loading.jl:1074
│ │ [6] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
│ │ @ Base ./loading.jl:1020
│ │ [7] _tryrequire_from_serialized(modkey::Base.PkgId, path::String, ocachepath::String, sourcepath::String, depmods::Vector{Any})
│ │ @ Base ./loading.jl:1356
│ │ [8] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt128)
│ │ @ Base ./loading.jl:1459
│ │ [9] _require(pkg::Base.PkgId, env::String)
│ │ @ Base ./loading.jl:1748
│ │ [10] _require_prelocked(uuidkey::Base.PkgId, env::String)
│ │ @ Base ./loading.jl:1625
│ │ [11] macro expansion
│ │ @ ./loading.jl:1613 [inlined]
│ │ [12] macro expansion
│ │ @ ./lock.jl:267 [inlined]
│ │ [13] require(into::Module, mod::Symbol)
│ │ @ Base ./loading.jl:1576
│ │ [14] include
│ │ @ ./Base.jl:457 [inlined]
│ │ [15] 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, UInt128}}, source::Nothing)
│ │ @ Base ./loading.jl:2010
│ │ [16] top-level scope
│ │ @ stdin:2
│ │ [17] eval
│ │ @ ./boot.jl:370 [inlined]
│ │ [18] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
│ │ @ Base ./loading.jl:1864
│ │ [19] include_string
│ │ @ ./loading.jl:1874 [inlined]
│ │ [20] exec_options(opts::Base.JLOptions)
│ │ @ Base ./client.jl:305
│ │ [21] _start()
│ │ @ Base ./client.jl:522
│ └ @ CUDA ~/.julia/packages/CUDA/p5OVK/src/initialization.jl:127
I googled this issue and it seems to appear when something is wrong with your CUDA installation. Now here is the thing. I have a laptop with an AMD GPU that is not compatible with CUDA. I do not have the CUDA driver installed (as it wouldn’t work with my GPU anyways), and I am assuming that this might be the cause of the error.
I would like to assume that it is possible to use tools like DiffEqFlux without a CUDA compatible GPU, because being locked to a specific GPU vendor to use this tooling doesn’t sound like a sensible decision. But, being fairly new to Julia, I have no clue how to fix this, so I really need your help.
Thanks in advance!
Vidianos