Skip to content
This repository has been archived by the owner on Mar 12, 2021. It is now read-only.

Wrong NNlib bounds wiith CuArrays 1.0.2 #327

Closed
jamie-arcc opened this issue Apr 25, 2019 · 7 comments · Fixed by JuliaRegistries/General#327
Closed

Wrong NNlib bounds wiith CuArrays 1.0.2 #327

jamie-arcc opened this issue Apr 25, 2019 · 7 comments · Fixed by JuliaRegistries/General#327
Assignees
Labels

Comments

@jamie-arcc
Copy link

Describe the bug
using CuArrays fails during precompilation with LoadError: UndefVarError: DenseConvDims not defined

To Reproduce

$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.1.0
 _/ |\__'_|_|_|\__'_|  |
|__/                   |

julia> using CuArrays
[ Info: Precompiling CuArrays [3a865a2d-5b23-5a0f-bc46-62713ec82fae]
WARNING: could not import NNlib.spatial_dims into CUDNN
ERROR: LoadError: LoadError: LoadError: UndefVarError: DenseConvDims not defined
Stacktrace:
 [1] top-level scope at none:0
 [2] include at ./boot.jl:326 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1038
 [4] include at ./sysimg.jl:29 [inlined]
 [5] include(::String) at /home/jschnaitter/.julia/packages/CuArrays/PwSdF/src/dnn/CUDNN.jl:1
 [6] top-level scope at none:0
 [7] include at ./boot.jl:326 [inlined]
 [8] include_relative(::Module, ::String) at ./loading.jl:1038
 [9] include at ./sysimg.jl:29 [inlined]
 [10] include(::String) at /home/jschnaitter/.julia/packages/CuArrays/PwSdF/src/CuArrays.jl:3
 [11] top-level scope at none:0
 [12] include at ./boot.jl:326 [inlined]
 [13] include_relative(::Module, ::String) at ./loading.jl:1038
 [14] include(::Module, ::String) at ./sysimg.jl:29
 [15] top-level scope at none:2
 [16] eval at ./boot.jl:328 [inlined]
 [17] eval(::Expr) at ./client.jl:404
 [18] top-level scope at ./none:3
in expression starting at /home/jschnaitter/.julia/packages/CuArrays/PwSdF/src/dnn/libcudnn.jl:265
in expression starting at /home/jschnaitter/.julia/packages/CuArrays/PwSdF/src/dnn/CUDNN.jl:35
in expression starting at /home/jschnaitter/.julia/packages/CuArrays/PwSdF/src/CuArrays.jl:52
ERROR: Failed to precompile CuArrays [3a865a2d-5b23-5a0f-bc46-62713ec82fae] to /home/jschnaitter/.julia/compiled/v1.1/CuArrays/7YFE0.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1197
 [3] _require(::Base.PkgId) at ./loading.jl:960
 [4] require(::Base.PkgId) at ./loading.jl:858
 [5] require(::Module, ::Symbol) at ./loading.jl:853

Expected behavior
Expected the package to load

Build log

(v1.1) pkg> build
  Building ZipFile ─────────→ `~/.julia/packages/ZipFile/YHTbb/deps/build.log`
  Building CodecZlib ───────→ `~/.julia/packages/CodecZlib/9jDi1/deps/build.log`
  Building MbedTLS ─────────→ `~/.julia/packages/MbedTLS/X4xar/deps/build.log`
  Building CUDAdrv ─────────→ `~/.julia/packages/CUDAdrv/3cR2F/deps/build.log`
  Building LLVM ────────────→ `~/.julia/packages/LLVM/tg8MX/deps/build.log`
  Building CUDAnative ──────→ `~/.julia/packages/CUDAnative/wU0tS/deps/build.log`
  Building Conda ───────────→ `~/.julia/packages/Conda/CpuvI/deps/build.log`
  Building FFTW ────────────→ `~/.julia/packages/FFTW/p7sLQ/deps/build.log`
  Building CuArrays ────────→ `~/.julia/packages/CuArrays/PwSdF/deps/build.log`
  Building ZMQ ─────────────→ `~/.julia/packages/ZMQ/ABGOx/deps/build.log`
  Building SpecialFunctions → `~/.julia/packages/SpecialFunctions/fvheQ/deps/build.log`
  Building IJulia ──────────→ `~/.julia/packages/IJulia/gI2uA/deps/build.log`

Environment details (please complete this section)
Details on Julia:

Julia 1.1.0 running on CentOS 7.4 x86_64

julia> versioninfo()
Julia Version 1.1.0
Platform Info:
  OS: Linux (x86_64-redhat-linux)
  CPU: Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)
Environment:
  LMOD_FAMILY_JULIA_VERSION = julia-1.1.0
  LMOD_FAMILY_JULIA = julia

CUDA: CUDA 10.0 Driver Version: 410.79

Additional context
contents of ~/.julia/packages/CuArrays/deps/ext.jl:

# autogenerated file, do not edit
const libcufft = "/apps/cuda/cuda-10.0/lib64/libcufft.so"
const libcublas = "/apps/cuda/cuda-10.0/lib64/libcublas.so"
const configured = true
const libcusparse = "/apps/cuda/cuda-10.0/lib64/libcusparse.so"
const libcusolver = "/apps/cuda/cuda-10.0/lib64/libcusolver.so"
const libcurand = "/apps/cuda/cuda-10.0/lib64/libcurand.so"
const libcudnn = "/apps/cuda/cuda-10.0/lib64/libcudnn.so"
@jamie-arcc jamie-arcc added the bug label Apr 25, 2019
@ali-ramadhan
Copy link

I got around this by running ] add NNlib#master at the package manager. I think someone at NNlib.jl has to tag a new release?

@jamie-arcc
Copy link
Author

I got around this by running ] add NNlib#master at the package manager. I think someone at NNlib.jl has to tag a new release?

Sadly, that seems to fail for me too:

(v1.1) pkg> add NNlib#master
  Updating git-repo `https://github.com/FluxML/NNlib.jl.git`
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package NNlib [872c559c]:
 NNlib [872c559c] log:
 ├─possible versions are: 0.6.0 or uninstalled
 ├─NNlib [872c559c] is fixed to version 0.6.0
 └─found to have no compatible versions left with Flux [587475ba]
   └─Flux [587475ba] log:
     ├─possible versions are: [0.1.0-0.1.1, 0.2.0-0.2.2, 0.3.0-0.3.4, 0.4.0-0.4.1, 0.5.0-0.5.4, 0.6.0-0.6.10, 0.7.0-0.7.3, 0.8.0-0.8.2] or uninstalled
     └─restricted to versions 0.8.2 by an explicit requirement, leaving only versions 0.8.2

@Menee
Copy link

Menee commented Apr 25, 2019

I met the same error on Google Colab.
So I guess anyone who want to help solve it could repeat the issue conveniently on Google Colab.

@ali-ramadhan
Copy link

@jamie-arcc Ah sorry I'm not using Flux so updating NNlib was enough for me I guess. I'll let someone more experienced than me reply.

@jamie-arcc
Copy link
Author

It looks like an issue with NNlib versions between CuArrays and Flux.jl, as mentioned in FluxML/Flux.jl#753

@jamie-arcc
Copy link
Author

I was able to get it working by installing [email protected] instead of the current 1.0.2 release

@maleadt maleadt self-assigned this Apr 26, 2019
@maleadt maleadt changed the title CuArrays fails to precompile/load in Julia 1.1.0 Wrong NNlib bounds wiith CuArrays 1.0.2 Apr 26, 2019
@maleadt
Copy link
Member

maleadt commented Apr 28, 2019

Should be fixed with JuliaRegistries/General#327 (at least, it should be impossible to install incompatible versions of CuArrays/NNlib now). Flux should be tagged with NNlib 0.6 compatibility.

@maleadt maleadt closed this as completed Apr 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants