I want to test NNlib.jl, which has a weak dep on CUDA.jl and cuDNN.jl, using my development version of CUDA.jl/cuDNN.jl. This does not seem to work, presumably because of the weakdep.
$ git clone [email protected]:FluxML/NNlib.jl.git NNlib
$ cat NNlib/Project.toml
[deps]
# no CUDA or cuDNN
[weakdeps]
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
cuDNN = "02a925ec-e4fe-4b08-9a7e-0d78e3d38ccd"
$ jl --project=NNlib
(NNlib) pkg> dev CUDA cuDNN
Path `/home/tim/Julia/pkg/CUDA` exists and looks like the correct repo. Using existing path.
Updating `~/Julia/pkg/NNlib/Project.toml`
[052768ef] + CUDA v5.5.1 `~/Julia/pkg/CUDA`
[02a925ec] + cuDNN v1.4.0 `~/Julia/pkg/CUDA/lib/cudnn`
Updating `~/Julia/pkg/NNlib/Manifest.toml`
[052768ef] + CUDA v5.5.1 `~/Julia/pkg/CUDA`
[02a925ec] + cuDNN v1.4.0 `~/Julia/pkg/CUDA/lib/cudnn`
$ cat NNlib/Project.toml
[deps]
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
cuDNN = "02a925ec-e4fe-4b08-9a7e-0d78e3d38ccd"
[weakdeps]
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
cuDNN = "02a925ec-e4fe-4b08-9a7e-0d78e3d38ccd"
So far so good. The ]st output looks confusing though, with no trace of CUDA or cuDNN:
$ jl --project=NNlib
(NNlib) pkg> st
Project NNlib v0.9.24
Status `~/Julia/pkg/NNlib/Project.toml`
[79e6a3ab] Adapt v4.0.4
[a9b6321e] Atomix v0.1.0
[d360d2e6] ChainRulesCore v1.25.0
[46192b85] GPUArraysCore v0.1.6
[63c18a36] KernelAbstractions v0.9.27
[37e2e46d] LinearAlgebra
[9a3f8284] Random
[10745b16] Statistics v1.10.0
I guess that may be because it's both a dep and a weakdep, which is weird. The bigger problem however is that testing discards my development versions of CUDA.jl and cuDNN.jl:
$ jl --project=NNlib
(NNlib) pkg> test
Testing NNlib
Status `/tmp/jl_p6O4zu/Project.toml`
# no mention of CUDA or cuDNN
Adding CUDA or cuDNN to the test Project.toml doesn't help either; it just picks up the released versions.
I realize that this is a peculiar combination of dependencies, but it does seem impossible right now to test an unreleased version of CUDA.jl with NNlib.jl.
Tested on 1.10.
I want to test NNlib.jl, which has a weak dep on CUDA.jl and cuDNN.jl, using my development version of CUDA.jl/cuDNN.jl. This does not seem to work, presumably because of the weakdep.
So far so good. The
]stoutput looks confusing though, with no trace of CUDA or cuDNN:I guess that may be because it's both a dep and a weakdep, which is weird. The bigger problem however is that testing discards my development versions of CUDA.jl and cuDNN.jl:
Adding CUDA or cuDNN to the
testProject.toml doesn't help either; it just picks up the released versions.I realize that this is a peculiar combination of dependencies, but it does seem impossible right now to test an unreleased version of CUDA.jl with NNlib.jl.
Tested on 1.10.