Comments (5)
Mixed CUDA installs are unsupported. The solution there is to explicitly define CUDA_PATH
or CUDA_ROOT
or CUDA_HOME
to point to the toolkit directory you want to use -- does it pick up the correct libraries then?
from cudaapi.jl.
I deleted the symlinks, and then set CUDA_HOME
, CUDA_PATH
and CUDA_ROOT
to be /usr/local/cuda-10.1/
via export CUDA_HOME=/usr/local/cuda-10.1/
. But it went back to mixing 8.0 and 10.0 files as above. If it's relevant, I'm on Ubuntu 18.04.
Is it checking /usr/local/cuda-*
before it checks /usr/lib/x86_64-linux-gnu
? That could explain why it would get the 8.0 one before the one in the /usr
library.
from cudaapi.jl.
You can run with JULIA_DEBUG=CUDAapi
(environment variable) to get to see why it does pick up a certain location.
from cudaapi.jl.
I've appended the results from running w/out the symlinks
┌ Debug: Looking for CUDA toolkit via environment variables
│ CUDA_ROOT = "/usr/local/cuda-10.1/"
│ CUDA_PATH = "/usr/local/cuda-10.1/"
│ CUDA_HOME = "/usr/local/cuda-10.1/"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Request to look for library cublas
│ locations =
│ 3-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Looking for library libcublas.so, libcublas.so.10, libcublas.so.10.1, libcublas.so.10.0, libcublas.so.9, libcublas.so.9.2, libcublas.so.9.1, libcublas.so.9.0, libcublas.so.8, libcublas.so.8.0, libcublas.so.7, libcublas.so.7.5, libcublas.so.7.0, libcublas.so.6, libcublas.so.6.5, libcublas.so.6.0, libcublas.so.5, libcublas.so.5.5, libcublas.so.5.0, libcublas.so.4, libcublas.so.4.2, libcublas.so.4.1, libcublas.so.4.0, libcublas.so.3, libcublas.so.3.2, libcublas.so.3.1, libcublas.so.3.0, libcublas.so.2, libcublas.so.2.2, libcublas.so.2.1, libcublas.so.2.0, libcublas.so.1, libcublas.so.1.1, libcublas.so.1.0
│ locations =
│ 9-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
│ "/usr/local/cuda-10.1/"
│ ⋮
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Found library libcublas.so at /usr/local/cuda-8.0/targets/x86_64-linux/lib
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/discovery.jl:94
┌ Debug: Request to look for library cusparse
│ locations =
│ 3-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Looking for library libcusparse.so, libcusparse.so.10, libcusparse.so.10.1, libcusparse.so.10.0, libcusparse.so.9, libcusparse.so.9.2, libcusparse.so.9.1, libcusparse.so.9.0, libcusparse.so.8, libcusparse.so.8.0, libcusparse.so.7, libcusparse.so.7.5, libcusparse.so.7.0, libcusparse.so.6, libcusparse.so.6.5, libcusparse.so.6.0, libcusparse.so.5, libcusparse.so.5.5, libcusparse.so.5.0, libcusparse.so.4, libcusparse.so.4.2, libcusparse.so.4.1, libcusparse.so.4.0, libcusparse.so.3, libcusparse.so.3.2, libcusparse.so.3.1, libcusparse.so.3.0, libcusparse.so.2, libcusparse.so.2.2, libcusparse.so.2.1, libcusparse.so.2.0, libcusparse.so.1, libcusparse.so.1.1, libcusparse.so.1.0
│ locations =
│ 9-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
│ "/usr/local/cuda-10.1/"
│ ⋮
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Found library libcusparse.so at /usr/local/cuda-10.1/lib64
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/discovery.jl:94
┌ Debug: Request to look for library cusolver
│ locations =
│ 3-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Looking for library libcusolver.so, libcusolver.so.10, libcusolver.so.10.1, libcusolver.so.10.0, libcusolver.so.9, libcusolver.so.9.2, libcusolver.so.9.1, libcusolver.so.9.0, libcusolver.so.8, libcusolver.so.8.0, libcusolver.so.7, libcusolver.so.7.5, libcusolver.so.7.0, libcusolver.so.6, libcusolver.so.6.5, libcusolver.so.6.0, libcusolver.so.5, libcusolver.so.5.5, libcusolver.so.5.0, libcusolver.so.4, libcusolver.so.4.2, libcusolver.so.4.1, libcusolver.so.4.0, libcusolver.so.3, libcusolver.so.3.2, libcusolver.so.3.1, libcusolver.so.3.0, libcusolver.so.2, libcusolver.so.2.2, libcusolver.so.2.1, libcusolver.so.2.0, libcusolver.so.1, libcusolver.so.1.1, libcusolver.so.1.0
│ locations =
│ 9-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
│ "/usr/local/cuda-10.1/"
│ ⋮
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Found library libcusolver.so at /usr/local/cuda-10.1/lib64
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/discovery.jl:94
┌ Debug: Request to look for library cufft
│ locations =
│ 3-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Looking for library libcufft.so, libcufft.so.10, libcufft.so.10.1, libcufft.so.10.0, libcufft.so.9, libcufft.so.9.2, libcufft.so.9.1, libcufft.so.9.0, libcufft.so.8, libcufft.so.8.0, libcufft.so.7, libcufft.so.7.5, libcufft.so.7.0, libcufft.so.6, libcufft.so.6.5, libcufft.so.6.0, libcufft.so.5, libcufft.so.5.5, libcufft.so.5.0, libcufft.so.4, libcufft.so.4.2, libcufft.so.4.1, libcufft.so.4.0, libcufft.so.3, libcufft.so.3.2, libcufft.so.3.1, libcufft.so.3.0, libcufft.so.2, libcufft.so.2.2, libcufft.so.2.1, libcufft.so.2.0, libcufft.so.1, libcufft.so.1.1, libcufft.so.1.0
│ locations =
│ 9-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
│ "/usr/local/cuda-10.1/"
│ ⋮
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Found library libcufft.so at /usr/local/cuda-10.1/lib64
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/discovery.jl:94
┌ Debug: Request to look for library curand
│ locations =
│ 3-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Looking for library libcurand.so, libcurand.so.10, libcurand.so.10.1, libcurand.so.10.0, libcurand.so.9, libcurand.so.9.2, libcurand.so.9.1, libcurand.so.9.0, libcurand.so.8, libcurand.so.8.0, libcurand.so.7, libcurand.so.7.5, libcurand.so.7.0, libcurand.so.6, libcurand.so.6.5, libcurand.so.6.0, libcurand.so.5, libcurand.so.5.5, libcurand.so.5.0, libcurand.so.4, libcurand.so.4.2, libcurand.so.4.1, libcurand.so.4.0, libcurand.so.3, libcurand.so.3.2, libcurand.so.3.1, libcurand.so.3.0, libcurand.so.2, libcurand.so.2.2, libcurand.so.2.1, libcurand.so.2.0, libcurand.so.1, libcurand.so.1.1, libcurand.so.1.0
│ locations =
│ 9-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
│ "/usr/local/cuda-10.1/"
│ ⋮
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Found library libcurand.so at /usr/local/cuda-10.1/lib64
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/discovery.jl:94
┌ Debug: Request to look for library cudnn
│ locations =
│ 3-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Looking for library libcudnn.so, libcudnn.so.7, libcudnn.so.7.4, libcudnn.so.7.3, libcudnn.so.7.2, libcudnn.so.7.1, libcudnn.so.7.0, libcudnn.so.6, libcudnn.so.6.0, libcudnn.so.5, libcudnn.so.5.1, libcudnn.so.5.0, libcudnn.so.4, libcudnn.so.4.0, libcudnn.so.3, libcudnn.so.3.0, libcudnn.so.2, libcudnn.so.2.0, libcudnn.so.1, libcudnn.so.1.0
│ locations =
│ 9-element Array{String,1}:
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
│ "/usr/local/cuda-10.1/"
│ ⋮
│ "/usr/local/cuda-10.1/"
│ "/usr/local/cuda-10.1/lib"
│ "/usr/local/cuda-10.1/lib64"
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/CUDAapi.jl:8
┌ Debug: Found library libcudnn.so at /usr/local/cuda-8.0/cudnn/lib64
└ @ CUDAapi ~/.julia/packages/CUDAapi/3nRn3/src/discovery.jl:94
from cudaapi.jl.
I'm going to close this, because there is no clear fix. If you have on the one hand a manually set-up set of CUDA's in /opt
or /usr/local
, those take precedence over system-provided ones. The fact that you here installed CUDNN system-wide throws that logic off. Since CUDNN is a version-specific library, you probably should have installed it in the appropriate /usr/local/cuda-...
directory (as per the CUDNN installation guidelines), or use a system-provided CUDA that is assumed to match other system-provided libraries like CUDNN.
from cudaapi.jl.
Related Issues (20)
- Remove warning HOT 3
- @runtime_ccall thread safety HOT 5
- find_cuda_library("cudnn",tk) returns nothing HOT 4
- could not load library: "C:\Users\USER\.julia\artifacts\~~~\bin\cudnn64_7.dll" HOT 2
- Could not find nvToolsExt (libnvToolsExt.dylib.1.0 or libnvToolsExt.dylib.1) in /Users/imac/.julia/artifacts/b502baf54095dff4a69fd6aba8667124583f6929/lib HOT 1
- ERROR: Could not find a suitable GCC HOT 4
- Unable to find cudnn HOT 9
- Cannot find cuDNN that was installed via anaconda (without sudo) HOT 4
- Fix hardcoded CUDA versions to folder name autodetection? HOT 2
- macOS CI for CUDA 10+ HOT 1
- CI does not spot: libcudadevrt.lib is actually cudadevrt.lib on windows HOT 4
- find_library word_size
- Longer term goal with other CUDA libraries HOT 4
- CUDA discovery failing with 1.3.0-rc1 HOT 1
- Discovery fails if CUDA env vars are set to empty variable HOT 2
- Float64 HOT 1
- CUDA version warning throws MethodError: no method matching version()
- Sort paths from CUDAapi.find_toolkit() in the descending order? HOT 2
- find_host_compiler was removed, but is still exported
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cudaapi.jl.