我安装的系统是ubuntu kylin 14.04,ubuntu 14.04也差很少同样.个人目的是让GPU能跑一些机器学习以及深度学习的框架,如theano html
1,卸载掉与nvidia相关的驱动以及旧版的cuda相关程序 python
sudo apt-get remove --purge nvidia* cuda*
2,到cuda官网下载新的cuda toolkit版本,我下的deb版的,也能够下run版的,我装的是时候是7.5版(2015.12.14.),你能够试着进入字符界面(ctrl+alt+F1),安装,也能够直接在终端安装主,我是选择前者, linux
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
安装好仓库以后,就能够更新你的本地仓库。 shell
sudo apt-get update
最后开始安装cuda以及显卡驱动 编程
sudo apt-get install cuda
安装完后加入环境变量,这个有好几种方法,我选择在本用户目录下安装,vim ~/.bashrc,在后面加入 ubuntu
$ export PATH=/usr/local/cuda-7.5/bin:$PATH $ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
设置完毕以后,你还能够选择是否安装cuda附带的示例代码(<dir>表示你要安装的位置,你能够将<dir>替换成~): vim
cuda-install-samples-7.5.sh <dir>
三,安装bumblebee bash
若是你的电脑是两显卡,不知你会怎样管理呢,我用的是bumblebee,若是你也是同样的电脑,能够一试,ubuntu安装比较简单 网络
sudo add-apt-repository ppa:bumblebee/stable sudo apt-get update sudo apt-get install bumblebee bumblebee-nvidia
可看看以下文章:使用 Bumblebee 控制 NVIDIA 双显卡(Ubuntu) 框架
这时你最好重启或注销一下电脑
四,测试验证
待你从新开机后,就之后一些验证工做
1,查看nvcc编译器的版本,nvcc是GPU的编译器
nvcc -V i
2,查看显卡的驱动版本,这个得先让你的独立显卡的gpu跑起来才能够看到
optirun python
#另外一个终端 cat /proc/driver/nvidia/version
你若是用 lspci |grep -i VGA看独立显卡的状态,前面可能不同,没开独立显卡是ff,开了后是a1
3,测试集显与独显是否正常,先测试集显,再测试独显
glxgears
你会看到以下结果:
optirun glxgears
很明显,独立显卡的速度要比集显要快的多
4,编译cuda程序,在sample目录下,make编译程序,网上人说编译并运行经过就没问题了,我一开始没了没有经过,虽然可执行文件是能够执行的,后面我加了个环境变量
export LD_LIBRARY_PATH=/usr/lib/nvidia-352:$LD_LIBRARY_PATH
运行编译出来的./deviceQuery,出下面结果
你也能够跑一下,simple下面的其余程序,若是大多没问题的话,就证实仍是基本安装成功的.
若是你是作cuda编程的,你能够如这个网址中入门开始学习CUDA在线学习
四,theano测试
由于个人主要目的是跑python代码,我以前已装了theano,因此只测试theano能在GPU上跑吗.
有两种方法运行GPU,一是在那个~/.theanorc配置文件,加入
[global] floatX=float32 device=gpu
#二,是运行程序时,前面加入说明 THEANO_FLAGS=floatX=float32,device=gpu python /usr/local/lib/python2.7/dist-packages/theano/misc/check_blas.py
会出测试结果.
也能够把下面的代码存为test.py,用cpu与gpu跑一下,出来的显示结果与时间都不同.
from theano import function, config, shared, sandbox import theano.tensor as T import numpy import time vlen = 10 * 30 * 768 # 10 x #cores x # threads per core iters = 1000 rng = numpy.random.RandomState(22) x = shared(numpy.asarray(rng.rand(vlen), config.floatX)) f = function([], T.exp(x)) print(f.maker.fgraph.toposort()) t0 = time.time() for i in xrange(iters): r = f() t1 = time.time() print("Looping %d times took %f seconds" % (iters, t1 - t0)) print("Result is %s" % (r,)) if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]): print('Used the cpu') else: print('Used the gpu')
注意,我也要试着在台式机上装过,显卡是GeForce GTX 750Ti,我是用的网络安装的,安装后配置一开PATH,CUDA_ROOT,就能够重启,这样就能够了。若是你想装cudnn的话,建议仍是用在显卡比较好的电脑上,个人z470电脑装了用不了,这个750Ti的显卡能够用,不过也不能用当下最新的5.0版本,只能用4.0的,安装的步骤以下:
tar -xzvf cudnn-7.0-linux-x64-v4-prod.tgz chmod -R 777 cuda #其实不用这样,我只是不想引发其余麻烦 sudo cp lib64/* /usr/local/cuda/lib64/ sudo cp include/* /usr/local/cuda/include/ sudo ldconfig #这样就能够了
五,可借鉴文档
折腾记要——Ubuntu 14.04系统安装Nvidia CUDA7.5并搭建Python Theano深度学习开发环境
Ubuntu12.04配置NVIDIA cuda5.5经验帖
Caffe+Ubuntu 15.04+CUDA 7.0新手安装配置指南
六,可能的问题
FATAL: Module nvidia_uvm not found.