3. Install the driver. Note, trying to do this from the source, gave me endless hassle, if you want to attempt this go the second part of this section. If you want to make life easy just do it from the repositories.sudo apt-get -y install nvidia-current-dev make sure your LD_LIBRARY_PATH includes /usr/lib/nvidia-currentsudo sh -c "echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia-current >> /etc/environment"

This didn't really work for me so you can link some things manually (below), or you can add -L/usr/lib/nvidia-current/ to the relevant Makefiles.sudo ln -s /usr/lib/nvidia-current/libcuda.so /usr/local/cuda/lib64/sudo ln -s /usr/lib/nvidia-current/libGL.so /usr/local/cuda/lib64/sudo ln -s /usr/lib/nvidia-current/libcuda.so /usr/lib/

OR get the source and do it manually. Boot up into'recovery mode' (By holding/tapping right shift during boot to get to the grub menu).

9 Comments:

I installed nvidia-cuda-toolkit from a PPA:https://launchpad.net/~yani/+archive/iatsl

That also took care of the drivers and all the other dependencies, so I only had to install the toolkit.

Apart from the problems you listed, I got "kernel launches from templates are not allowed in system files" errors in radixSortThrust. This apparently happens because thrust puts its headers in a place nvcc doesn't like. I symlinked /usr/include/thrust to /usr/lib/nvidia-cuda-toolkit/include/thrust, and that fixed it. There was an empty thrust directory already there, so the lack of a symlink may have been the result of a bad upgrade.

Also, I wanted to link CUDA with opencv and gstreamer, but libUtilNPP would not exist in .so (shared object/ shared library) format, so just for reference, I had to modify in the file CUDALibraries/common/UtilNPP/CMakeLists.txt the word "STATIC" with "SHARED".