目录
参考资料
- TensorFlow安装指南中的安装CUDA和cuDNN的方式是采用apt包管理器。TensorFlow安装指南-GPU支持
包管理器的安装方式也是NVIDIA官方的安装指南中所推荐的,存在的不足是cuDNN可能不是最新的,但安装卸载都极为方便,并且不需要配置ld的链接库路径。 - NVIDIA官方的CUDA10.0安装指南。CUDA10.0官方安装指南
对runfile以及deb等安装方式都进行了详细的说明以及安装前后的操作。 - NVIDIA官方的cuDNN安装指南。 cuDNN官方安装指南
详细说明了各个平台的tar file和deb等安装方式。
1. 下载本地安装包
1.1 下载CUDA安装包
在CUDA历史归档中选择CUDA10.0,根据平台选择Linux -> x86-64 -> Ubuntu -> 18.04 -> deb(local),将下面的 base isntaller 和 patch1 下载到用户目录,或者使用wget。
完成结果
$ ll
...cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
...cuda-repo-ubuntu1804-10-0-local-nvjpeg-update-1_1.0-1_amd64.deb
1.2 下载cuDNN安装包
因为cuDNN比较小,实际采用的是网络deb安装的方式,这里下载的deb只是用来添加仓库的。
$ wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
2. 安装软件包
注意:安装CUDA是先要安装NVIDIA的显卡驱动程序的,这里假设已经安装好了NVIDIA的显卡驱动程序。默认安装CUDA10.0会将显卡驱动退回到410,由于已经安装了430,所以之后的安装将只安装toolkit部分而不安装driver部分。
2.1 添加本地和网络软件仓库
在下载目录执行
# Add NVIDIA package repositories
## base installer
$ sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-10.0.130-410.48/7fa2af80.pub
## patch1
$ sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-nvjpeg-update-1_1.0-1_amd64.deb
## cnDNN
$ sudo dpkg -i nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
$ sudo apt-get update
以上命令将三个包的仓库添加到apt中
2.2 安装软件包
- 先安装CUDA
$ sudo apt-get install cuda-toolkit-10-0
这里可以使用的三个包名如下
| Meta Package | Purpose |
|---|---|
cuda | 安装 Toolkit 包和 Driver 包,会默认安装10.1版本(最新的)以及对应的驱动,并且会自动更新 |
cuda-10-0 | 安装10.0版本 Toolkit 包和 Driver 包(410),因为指定了版本所以不会自动更新只能手动安装新版本 |
cuda-toolkit-10-0 | 只安装10.0版本 Toolkit 包,不装驱动,不会自动更新 |
所以上面的命令的意思是保留当前更新的驱动,以及使用apt upgrade时不自动更新。更多的 Meta Package 参考CUDA安装指南。
- 安装补丁包
$ sudo apt install cuda-nvjpeg-10-0 cuda-nvjpeg-dev-10-0
- 安装cuDNN
首先查看仓库提供的cuDNN包括哪些版本
$ sudo apt-cache policy libcudnn7
libcudnn7:
...
版本列表:
7.6.3.30-1+cuda10.1 500
500 http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Packages
7.6.3.30-1+cuda10.0 500
500 http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Packages
7.6.2.24-1+cuda10.1 500
500 http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Packages
7.6.2.24-1+cuda10.0 500
500 http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Packages
最新的版本为 7.6.3,官网最新为7.6.4,不过问题不大。这里我们要选择cuda10.0,所以加上dev包的安装如下
$ sudo apt-get install libcudnn7=7.6.3.30-1+cuda10.0 libcudnn7-dev=7.6.3.30-1+cuda10.0
完成安装,CUDA10.0+cuDNN7.6.3.
3. 安装完成后的操作
3.1 必须的操作
设置环境变量
编辑用户目录的 .bashrc 文件,添加
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
3.2 推荐的操作
编译例程并测试
$ cd /usr/local/cuda-10.0/samples
$ make
编译好的二进制文件放在bin文件夹内。进入里面运行一个测试程序
$ cd bin/x86_64/linux/release
$ ./deviceQuery

如果得到一个类似上图的PASS的结果表示没有问题,还可以运行一些别的程序比如bandwidthTest.
版权声明:本文为Day1more原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。