I followed this blog to install theano on my ubuntu system for most of the steps. Instead of using apt-get to install nvidia driver and cuda toolkit. I downloaded the newer version cuda (7.0) and cudnn from Nvidia official website.
To install cuda manully, you should be very careful, otherwise you will get infinite login loop on ubuntu. The solution is here. I copied the steps at following for my own record.
0) Download your relevant CUDA.run file: mine was: cuda_7.0.28_linux.run
Note, that once again this install is if you purely want to use your graphics card (Titan X) for GPU/CUDA purposes and not for rendering.
$sudo apt-get install build-essential
1) I start off with the regular GUI and Ubuntu working with no login problems.
2) No need to create an xorg.conf file. If you have one, remove it (assuming you have a fresh OS install).
$ sudo rm /etc/X11/xorg.conf
3) Create the /etc/modprobe.d/blacklist-nouveau.conf file with :
options nouveau modeset=0
$sudo update-initramfs -u
4) Reboot computer. Nothing should have changed in loading up menu. You should be taken to the login screen. Once there type:
Ctrl + Alt + F1, and login to your user.
5) Go to the directory where you have the CUDA driver, and run
$chmod a+x .
7) Now, run
$ sudo service lightdm stop
The top line is a necessary step for installing the driver.
8) I run the CUDA driver run file. *Notice that I explicitly don’t want the OpenGL flags to be installed:
$ sudo bash cuda-7.0.28_linux.run --no-opengl-libs
9) During the install:
Accept EULA conditions
Say YES to installing the NVIDIA driver
SAY YES to installing CUDA Toolkit + Driver
Say YES to installing CUDA Samples
Say NO rebuilding any Xserver configurations with Nvidia.
10) Installation should be complete. Now check if device nodes are present:
Check if /dev/nvidia* files exist. If they don’t, do :
$ sudo modprobe nvidia
Remark: for my case, I couldn’t find nvidia related files in /dev/ even after I typed the modprobe command. I don’t know what does ‘modprobe’ command do exactly, but it seems not affect later process.
11) Set Environment path variables:
$ export PATH=/usr/local/cuda-7.0/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
*Change depending on your cuda version.
12) Verify the driver version:
$ cat /proc/driver/nvidia/version
13) Check CUDA driver version:
$ nvcc -V
[Optional] At this point you can switch the lightdm back on again by doing:
$ sudo service lightdm start.
You should be able to login to your session through the GUI without any problems or login-loops.
I skipped the following steps.
14) Create CUDA Samples. Go to your NVIDIA_CUDA-7.5_Samples folder and type $make.
15) Go to NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release/ for the demos, and do the two standard checks:
to see your graphics card specs and
to check if its operating correctly.
Both tests should ultimately output a ‘PASS’ in your terminal.
16) Reboot. Everything should be ok.