Message Boards Message Boards

Unable to get CUDA to link to Mathematica , using Ubuntu 14.04

Posted 9 years ago

I have a new computer running Ubuntu 14.04 and Mathematica 10.0.02.0. I have a NVidia GTX 750ti video card.

I installed the latest 352.21 Nvidia drivers for this card, and tried installing CUDA 7 but was unable to get it to link to CUDA ;

Needs["CUDALink`"]

CUDAQ[]
Now shows false. The first time it downloaded some information.

It seemed the problem might be with directory paths; see; http://reference.wolfram.com/language/CUDALink/tutorial/Setup.html#10897850

This is the absolute path to the NVIDIA driver library.

The library is installed by the NVIDIA driver package downloaded from the NVIDIA driver download website.

"Linux-x86-64" "/usr/lib64/libnvidia-tls.so.*"

Default path to the NVIDIA driver library in case NVIDIADRIVERLIBRARY_PATH is not defined.

(the previewer is eliminating the underscores in NVIDIADRIVERLIBRARYPATH and CUDALIBRARY_PATH, I did enter them correctly)

I set in my .profile; NVIDIADRIVERLIBRARY_PATH=/usr/lib/nvidia-352/libnvidia-tls.so.352.21

This is the absolute path to the CUDA library. The library is installed by the NVIDIA driver package downloaded from the NVIDIA driver download website. "Linux-x86-64" "/usr/lib64/libcuda.so" Default path to the CUDA Library in case CUDALIBRARYPATH is not defined.

It appears CUDA 7 does not have a libcuda.so file, so I uninstalled CUDA 7 and tried CUDA 6.5, using the Ubuntu Software Center repository, I installed CUDA Toolkit 6.5 meta-package. libcuda.so (32.8k, 14 Sept 2014) is now in /usr/local/cuda-6.5/lib64/stubs, so I set my .profile

export PATH=/usr/local/cuda-6.5/bin:$PATH #CUDA

export LDLIBRARYPATH=/usr/local/cuda-6.5/lib64/stubs/libcuda.so:$LDLIBRARYPATH #LIBPATH

export NVIDIADRIVERLIBRARYPATH=/usr/lib/nvidia-352/libnvidia-tls.so.352.21:$LDLIBRARY_PATH #NVIDIA

Needs["CUDALink`"]

CUDAQ[]
gives false.

POSTED BY: Stuart Anderson
7 Replies

To add to the above. I could not get Ubuntu 16.04 and Mathematica 10.0.02.0 (Linux) working using the solution above.

However it DOES WORK with Ubuntu 16.04 and Mathematica 11.0.0.0 (Linux)

POSTED BY: Stuart Anderson
Posted 9 years ago

Thanks. This works for me too.

Asim

POSTED BY: Asim Ansari

I have been successful in getting CUDALink working. My solution was to use symlinks.

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.

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 test

POSTED BY: Stuart Anderson

I lodged a bug report with support on 3rd August 2015, got the acknowledgement; Hello,

Thank you for taking the time to send in this report.

Our development team is aware of this issue with CUDALink in Linux. I have appended your contact information to the existing report.

If you run into any other behavior problems please don't hesitate to contact us at support@wolfram.com.

Sincerely,

Anmol Bajracharya Technical Support Wolfram Research, Inc. http://support.wolfram.com

POSTED BY: Stuart Anderson

I do not have it working. I have followed all instructions, have set the paths correctly, CUDA is working, but Mathematica will not load the libraries. I think this version of the software is buggy.

POSTED BY: Stuart Anderson
Posted 9 years ago

It is not clear from the above whether you were able to solve the problem. I have a similar issue which I have not been able to solve.

POSTED BY: Asim Ansari
POSTED BY: Stuart Anderson
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract