ubuntu17.10 安装CUDA
1. 更新apt-get源列表
sudo apt-get update
sudo apt-get upgrade
2. 添加驱动源
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update
3. 安装nvidia驱动
1.正常策略
sudo apt-get install nvidia-367 sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev
这一步有超多的坑,如果你足够幸运的话。上面步骤执行完,重启。执行:
sudo lshw -c video|grep configuration
如果显示nvidia字样,就代表驱动装好了。直接进入第4步。如果是nouveau或其他的,那就是没有装好,请看下面。
2.踏坑策略
别问我367是什么东西,据说是显卡版本号什么的,我看到下载时,实际上下载了多个版本,比367更高的有不少。之所以不求甚解,是因为上面的操作据说成功概率很高。可是,我有强迫症,我选择了去官网下载对应我显卡的驱动,手动安装,然后一路掉坑无数,还好最后还是成功了。
2.1 首先,禁用nouveau。
nouveau是系统自带通用驱动,一般是支持你的显卡的,我的gtx1070都支持(那我为什么更新官方驱动呢?可能是有强迫症!其实我是担心不能充分调动我显卡的性能,影响我后面deep learn的数据集训练)。方法是暴力移除:
1 |
mv /lib/modules/3 .0.0-12-generic /kernel/drivers/gpu/drm/nouveau/nouveau .ko /lib/modules/3 .0.0-12-generic /kernel/drivers/gpu/drm/nouveau/nouveau .ko.bak
|
重启,再次测试前面正常策略的驱动是否成功。如果成功的话,就走第4步。
2.2 下载官网驱动
获取显卡的硬件信息:
1 |
lspci -vnn | grep VGA -A 12
|
然后拿着型号,去官网下载即可。貌似需要注册个帐号。
2.3 关闭X service
linux各发行版,有个通用的系统运行级别。3为标准的多用户模式,5为X Window模式。可以用runlevel命令来查看当前系统运行level。ubuntu17.10桌面版,默认level是5。我们可以通过telinit命令切换运行模式。
1 |
sudo telinit 3
|
进入命令行模式。如果想进去X Windows的话,把3改为5即可。
2.4 安装
官网下载的文件,后缀应该是bundle。赋执行权限:
1 |
sudo chmod +x $name
|
1 |
sudo ./$name
|
重启。查看驱动。
4. 安装cuda
因为最新版的tensorflow 1.5不支持cuda9.0,这里安装8.0版本。(下面的版本9.0,替换为8.0即可)
下载地址(当然也需要先注册):https://developer.nvidia.com/cuda-toolkit-archive
1. run格式文件
如果下载的是run文件,直接运行即可。
2. deb格式文件
2.1 安装gcc:
1 |
sudo apt-get install gcc -5
|
注意一定要选择好版本,不选择默认装gcc-7,而后面编译时不支持gcc大于6的版本.
我安装时候,第一种方法失效,现在觉得,可能就是gcc版本不支持的缘故。
2.2 安装内核头文件
1 |
sudo apt-get install linux-headers-$( uname -r)
|
2.3 deb安装
1
2
|
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo- <version> /7fa2af80 .pub <version>部分是自己下载的那个版本,一般在命令行按tab键就能出来;
|
1
2
|
sudo apt-get update
sudo apt-get install cuda
|
2.4 添加环境变量
写入到 ~/.bashrc 的尾部:
1
2
|
export PATH= /usr/local/cuda-9 .0 /bin :$PATH
export LD_LIBRARY_PATH= /usr/local/cuda-9 .0 /lib64 :$LD_LIBRARY_PATH
|
2.5 测试
1 |
cuda- install -samples-9.0.sh < dir > 安装测试程序,< dir >是安装目录,自己新建一个即可
|
安装好后,<dir>下有个NVIDIA_CUDA-9.0_Samples文件夹,cd到这个文件夹里面,执行$sudo make,编译完后,在bin目录或bin目录的子目录的子目录里有编译好的deviceQuery可执行文件,执行这个文件,可以看到下面的输出就说明安装成功了:
如果执行失败,则是显卡驱动没有装好。
最后再来测试一下CUDA,运行:
1 |
sudo nvidia-smi
|
可以看到gpu的各种信息。
5. 安装cudnn
下载:https://developer.nvidia.com/rdp/cudnn-download
1
2
3
4
5
|
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn *
|