Git Product home page Git Product logo

Comments (5)

maleadt avatar maleadt commented on August 20, 2024

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.

dsweber2 avatar dsweber2 commented on August 20, 2024

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.

maleadt avatar maleadt commented on August 20, 2024

You can run with JULIA_DEBUG=CUDAapi (environment variable) to get to see why it does pick up a certain location.

from cudaapi.jl.

dsweber2 avatar dsweber2 commented on August 20, 2024

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.

maleadt avatar maleadt commented on August 20, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.