Are you able to use CUDA on Linux?

Finally I got a solution. The libcuda.so which is originally from Ubuntu cannot be used.

I follow this instructions to install CUDA and it works!


I have managed to get CUDALink working on an ubuntu 14.04 with an NVidia GTX 750 Ti with CUDA 7 toolkit (installed the toolkit following these instructions; http://www.r-tutor.com/gpu-computing/cuda-installation/cuda7.0-ubuntu ).

I have never been able to change NVIDIA_DRIVER_LIBRARY_PATH and CUDA_LIBRARY_PATH using env variables and get CUDALink to work.

I assume the Mathematica CUDA and Nvidia library paths as hardwired and I use symlinks from the libraries to the default locations where Mathematica is looking. It works for me! Mathematica is looking in /usr/lib64, this does not exist on my system, so;

cd /usr
sudo mkdir lib64

Locate your libnvidia-tls.so file, I used find

stuart@stuart-2015:~$ find / -name libnvidia-tls.so* 2>/dev/null
/usr/lib/nvidia-346/libnvidia-tls.so.346.82
/usr/lib/nvidia-346/tls/libnvidia-tls.so.346.82
/usr/lib32/nvidia-346/libnvidia-tls.so.346.82
/usr/lib32/nvidia-346/tls/libnvidia-tls.so.346.82

I have a 64bit system, I ignore the lib32 libraries, I have 2 choices;

/usr/lib/nvidia-346/libnvidia-tls.so.346.82
/usr/lib/nvidia-346/tls/libnvidia-tls.so.346.82

these are actually different files, I dont know what the difference is, or which is preferred, but there are only two choices, so I try the second file first and symlink like so;

sudo ln -s /usr/lib/nvidia-346/tls/libnvidia-tls.so.346.82 /usr/lib64/libnvidia-tls.so.346.82

With the cuda library, we find these files;

find / -name libcuda.so 2>/dev/null
/usr/lib/i386-linux-gnu/libcuda.so
/usr/lib/x86_64-linux-gnu/libcuda.so
/usr/local/cuda-7.0/targets/x86_64-linux/lib/stubs/libcuda.so

I need the 64-bit version, issue the symlink command;

sudo ln -s /usr/lib/x86_64-linux-gnu/libcuda.so.346.82 /usr/lib64/libcuda.so

Now open Mathematica and test; CUDA Mathematica test


January 2017 I have installed Mathematica 10.2 on Ububtu 16.04(64bit) Nvidia GeForce GTX 760M after installing NvidiaDriver 367.57.0 and CUDA Toolkit 7.5 from the Ubuntu repos. The method above:

cd /usr

sudo mkdir lib64

sudo ln -s /usr/lib/nvidia-367/tls/libnvidia-tls.so.367.57 /usr/lib64/libnvidia-tls.so.367.57

sudo ln -s /usr/lib/x86_64-linux-gnu/libcuda.so /usr/lib64/libcuda.so

works fine for me

Tags:

Cudalink