While trying to install Flux I run into an error where it fails to precompile the NNlibCUDA library.
Running ] test NNlibCUDA
results in LoadError: UndefVarError: upsample_linear_wcn! not defined
:
(@v1.7) pkg> test NNlibCUDA
Testing NNlibCUDA
Status `/tmp/jl_1psy2E/Project.toml`
[052768ef] CUDA v3.10.1
[f6369f11] ForwardDiff v0.10.30
[872c559c] NNlib v0.8.6
[a00861dc] NNlibCUDA v0.2.3
[e88e6eb3] Zygote v0.6.40
[37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
[9a3f8284] Random `@stdlib/Random`
[10745b16] Statistics `@stdlib/Statistics`
[8dfed614] Test `@stdlib/Test`
Status `/tmp/jl_1psy2E/Manifest.toml`
[621f4979] AbstractFFTs v1.1.0
[79e6a3ab] Adapt v3.3.3
[ab4f0b2a] BFloat16s v0.2.0
[fa961155] CEnum v0.4.2
[052768ef] CUDA v3.10.1
[082447d4] ChainRules v1.35.1
[d360d2e6] ChainRulesCore v1.15.0
[9e997f8a] ChangesOfVariables v0.1.3
[bbf7d656] CommonSubexpressions v0.3.0
[34da2185] Compat v3.44.0
[163ba53b] DiffResults v1.0.3
[b552c78f] DiffRules v1.11.0
[ffbed154] DocStringExtensions v0.8.6
[e2ba6199] ExprTools v0.1.8
[1a297f60] FillArrays v0.13.2
[f6369f11] ForwardDiff v0.10.30
[0c68f7d7] GPUArrays v8.3.2
[61eb1bfa] GPUCompiler v0.15.2
[7869d1d1] IRTools v0.4.6
[3587e190] InverseFunctions v0.1.4
[92d709cd] IrrationalConstants v0.1.1
[692b3bcd] JLLWrappers v1.4.1
[929cbde3] LLVM v4.13.0
[2ab3a3ac] LogExpFunctions v0.3.15
[1914dd2f] MacroTools v0.5.9
[872c559c] NNlib v0.8.6
[a00861dc] NNlibCUDA v0.2.3
[77ba4419] NaNMath v1.0.0
[21216c6a] Preferences v1.3.0
[74087812] Random123 v1.5.0
[e6cf234a] RandomNumbers v1.5.3
[c1ae055f] RealDot v0.1.0
[189a3867] Reexport v1.2.2
[ae029012] Requires v1.3.0
[276daf66] SpecialFunctions v2.1.5
[90137ffa] StaticArrays v1.4.4
[a759f4b9] TimerOutputs v0.5.19
[e88e6eb3] Zygote v0.6.40
[700de1a5] ZygoteRules v0.2.2
[dad2f222] LLVMExtra_jll v0.0.16+0
[efe28fd5] OpenSpecFun_jll v0.5.5+0
[0dad84c5] ArgTools `@stdlib/ArgTools`
[56f22d72] Artifacts `@stdlib/Artifacts`
[2a0f44e3] Base64 `@stdlib/Base64`
[ade2ca70] Dates `@stdlib/Dates`
[8bb1440f] DelimitedFiles `@stdlib/DelimitedFiles`
[8ba89e20] Distributed `@stdlib/Distributed`
[f43a241f] Downloads `@stdlib/Downloads`
[7b1f6079] FileWatching `@stdlib/FileWatching`
[b77e0a4c] InteractiveUtils `@stdlib/InteractiveUtils`
[4af54fe1] LazyArtifacts `@stdlib/LazyArtifacts`
[b27032c2] LibCURL `@stdlib/LibCURL`
[76f85450] LibGit2 `@stdlib/LibGit2`
[8f399da3] Libdl `@stdlib/Libdl`
[37e2e46d] LinearAlgebra `@stdlib/LinearAlgebra`
[56ddb016] Logging `@stdlib/Logging`
[d6f4376e] Markdown `@stdlib/Markdown`
[a63ad114] Mmap `@stdlib/Mmap`
[ca575930] NetworkOptions `@stdlib/NetworkOptions`
[44cfe95a] Pkg `@stdlib/Pkg`
[de0858da] Printf `@stdlib/Printf`
[3fa0cd96] REPL `@stdlib/REPL`
[9a3f8284] Random `@stdlib/Random`
[ea8e919c] SHA `@stdlib/SHA`
[9e88b42a] Serialization `@stdlib/Serialization`
[1a1011a3] SharedArrays `@stdlib/SharedArrays`
[6462fe0b] Sockets `@stdlib/Sockets`
[2f01184e] SparseArrays `@stdlib/SparseArrays`
[10745b16] Statistics `@stdlib/Statistics`
[fa267f1f] TOML `@stdlib/TOML`
[a4e569a6] Tar `@stdlib/Tar`
[8dfed614] Test `@stdlib/Test`
[cf7118a7] UUIDs `@stdlib/UUIDs`
[4ec0a83e] Unicode `@stdlib/Unicode`
[e66e0078] CompilerSupportLibraries_jll `@stdlib/CompilerSupportLibraries_jll`
[deac9b47] LibCURL_jll `@stdlib/LibCURL_jll`
[29816b5a] LibSSH2_jll `@stdlib/LibSSH2_jll`
[c8ffd9c3] MbedTLS_jll `@stdlib/MbedTLS_jll`
[14a3606d] MozillaCACerts_jll `@stdlib/MozillaCACerts_jll`
[4536629a] OpenBLAS_jll `@stdlib/OpenBLAS_jll`
[05823500] OpenLibm_jll `@stdlib/OpenLibm_jll`
[83775a58] Zlib_jll `@stdlib/Zlib_jll`
[8e850b90] libblastrampoline_jll `@stdlib/libblastrampoline_jll`
[8e850ede] nghttp2_jll `@stdlib/nghttp2_jll`
[3f19e933] p7zip_jll `@stdlib/p7zip_jll`
Precompiling project...
✗ NNlibCUDA
0 dependencies successfully precompiled in 4 seconds (47 already precompiled)
1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package
Testing Running tests...
ERROR: LoadError: UndefVarError: upsample_linear_wcn! not defined
Stacktrace:
[1] getproperty(x::Module, f::Symbol)
@ Base ./Base.jl:35
[2] top-level scope
@ ~/.julia/packages/NNlibCUDA/vECff/src/upsample.jl:118
[3] include(mod::Module, _path::String)
@ Base ./Base.jl:418
[4] include(x::String)
@ NNlibCUDA ~/.julia/packages/NNlibCUDA/vECff/src/NNlibCUDA.jl:1
[5] top-level scope
@ ~/.julia/packages/NNlibCUDA/vECff/src/NNlibCUDA.jl:9
[6] include
@ ./Base.jl:418 [inlined]
[7] 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::String)
@ Base ./loading.jl:1318
[8] top-level scope
@ none:1
[9] eval
@ ./boot.jl:373 [inlined]
[10] eval(x::Expr)
@ Base.MainInclude ./client.jl:453
[11] top-level scope
@ none:1
in expression starting at /home/manman/.julia/packages/NNlibCUDA/vECff/src/upsample.jl:118
in expression starting at /home/manman/.julia/packages/NNlibCUDA/vECff/src/NNlibCUDA.jl:1
ERROR: LoadError: Failed to precompile NNlibCUDA [a00861dc-f156-4864-bf3c-e6376f28a68d] to /home/manman/.julia/compiled/v1.7/NNlibCUDA/jl_kwzmLD.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:33
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
@ Base ./loading.jl:1466
[3] compilecache(pkg::Base.PkgId, path::String)
@ Base ./loading.jl:1410
[4] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1120
[5] require(uuidkey::Base.PkgId)
@ Base ./loading.jl:1013
[6] require(into::Module, mod::Symbol)
@ Base ./loading.jl:997
[7] include(fname::String)
@ Base.MainInclude ./client.jl:451
[8] top-level scope
@ none:6
in expression starting at /home/manman/.julia/packages/NNlibCUDA/vECff/test/runtests.jl:4
ERROR: Package NNlibCUDA errored during testing
I am running Julia 1.7.3 on Pop!_OS 22.04 with a GTX 1050Ti Mobile.
I just had this issue. I found that running ] update
fixed it.