参考:CUDA官方安装指南
问题:安装CUDA最困难的地方在于Ubuntn中通常继承了一个Nvidia不承认的兼容性较好的驱动,安装CUDA需要安装nvidia对应官方驱动,此处会发生冲突。
1、检查机器显卡
$ lspci| grep -i nvidia
2、验证linux版本
$ uname -m && cat /etc/*release
3、验证GCC
$ gcc --version
4、验证linux内核
$ uname -r
5、安装对应的kernels header和开发包:
$ sudo apt-get install linux-headers-$(uname -r)
6、下载NVIDIA CUDA Toolkit
链接:CUDA_NOW
历史版本链接:CUDA_OLD
7、下载完后,用MD5 检验,如果序号不和,得重新下载
$ md5sum cuda_8.0.27_linux.run
8、安装:
8.1 禁止 nouveau(Ubuntu自带驱动)
lsmod| grep nouveau
$ 8.2 如果有内容输出,则需禁掉nouveau
$ sudo gedit /etc/modprobe.d/blacklist.conf
8.3 将如下内容写入文件:
blacklist nouveau
options nouveau modeset=0
8.4 执行:
$ sudo update-initramfs –u
$ lsmod| grep nouveau
若无内容输出,则禁用成功
8.5 然后重启电脑
$ sudo reboot
8.6 重启后,直接按Ctrl+Alt+F1进入文本模式(命令行界面),登录账户。
8.7 关闭图形化界面
$ sudo service lightdm stop
8.8 切换到cuda_8.0.27_linux.run的目录,执行
$ sudo sh cuda_8.0.27_linux.run
安装过程中,前面是很长的一段说明,后面的选项为 accept / n(不要安装driver) / y .......
关于安装位置直接enter
8.9 安装成功后,会显示installed,否则会显示failed。
8.10 重启图形化界面
$ sudo service lightdm start
8.11 在登陆界面时,按Ctrl + Alt + f1,进入TUI
执行
$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
$ sudo /usr/bin/nvidia-uninstall
然后重启
$ sudo reboot
9、配置文件
$ sudo vi /etc/profile
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
保存退出
执行
$ source /etc/profile
$ sudo gedit ~/.bashrc
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
退出执行
$ source ~/.bashrc
让文件立即生效
至此cuda 8.0安装完毕
10、查看显卡驱动
$ nvidia-smi
11、查看CUDA版本
$ nvcc -V
12、安装CUDNN
这里直接下载压缩包解压就可以,版本只能是cudnn 5.1
地址:https://developer.nvidia.com/rdp/cudnn-archive
然后利用以下命令解压下载的文件,
$ tar -xzvf filename
可以看到cuda文件夹,在当前目录打开终端,执行如下命令:
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
测试安装成功与否
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
看到如下图片说明安装成功了
虚拟环境下安装tensorflow:
pip install tensorflow-gpu=1.0.0
python用3.6的版本