本次教程用到的版本号分别是:
NVIDIA-Linux-x86_64-410.78.run
cuda_10.0.130_410.48_linux.run
cudnn-10.0-linux-x64-v7.4.2.24.tgz
附官网下载链接:
Nvidia驱动根据自己需要的版本下载:
https://www.geforce.cn/drivers
nvidia-driver410.78下载链接
https://www.geforce.cn/drivers/results/140230
cuda10.0
https://developer.download.nvidia.cn/compute/cuda/10.0
cudnn7.4.2(需要自己注册账号登录下载)
网站有时候会打不开所以提供了我自己使用的三个版本的百度云链接:(如果需要cuda9.0版本的可以留言)
链接:https://pan.baidu.com/s/1SGSDqBeMIgaw0NTxB2JEKA
提取码:7lu4
解压密码:cuda10
首先安装ubuntu系统就不做详细介绍了,默认是系统安装完成。
在安装cuda之前,第一步现在ubuntu16.04上安装NVIDIA的驱动,这里要注意:cuda版本要和驱动相对应、cuda版本要和驱动相对应、cuda版本要和驱动相对应(强调三遍)
CUDA Toolkit Version | Linux x86_64 Driver Version |
---|---|
CUDA 10.1 | >= 418.39 |
CUDA 10.0 | >= 410.48 |
CUDA 9.2 | >= 396.37 |
CUDA 9.1 | >= 390.46 |
CUDA 9.0 | >= 384.81 |
CUDA 8.0 | >= 375.26 |
CUDA 7.5 | >= 352.31 |
CUDA 7.0 | >= 346.46 |
以上表格就是对应cuda和nvidia驱动版本之间的匹配,需要注意的是驱动的>=指的是大于这个版本的驱动,言下之意就是高版本驱动可以兼容安装低版本的cuda,反之则不成立。
打开终端一次输入以下指令:
sudo vim /etc/modprobe.d/blacklist.conf
在文件最后部分插入以下两行内容
blacklist nouveau
options nouveau modeset=0
接着
sudo update-initramfs -u
重启电脑
lsmod | grep nouveau
验证是否被禁用:无输出信息说明成功
sudo chmod a+x NVIDIA-Linux-x86_64-410.78.run
sudo ./NVIDIA-Linux-x86_64-410.78.run -no-x-check -no-nouveau-check -no-opengl-files
(只有禁用opengl这样安装才不会出现循环登陆的问题)
接下来就到了NVIDIA安装驱动的界面,以我安装的驱动版本410.78为例会遇到的选择问题:
1.There appears to already be a driver installed on your system (version:
410.78). As part of installing this driver (version: 410.78), the existing
driver will be uninstalled. Are you sure you want to continue?
Continue installation Abort installation
(选择 Coninue,如果是重装的话)
2.The distribution-provided pre-install script failed! Are you sure you want
to continue?
Continue installation Abort installation
(选择 Cotinue)
3.Would you like to register the kernel module sources with DKMS? This will
allow DKMS to automatically build a new module, if you install a different
kernel later.
Yes No
(这里选 No)
4.Install NVIDIA’s 32-bit compatibility libraries?
Yes No
(这里选 No)
5.Installation of the kernel module for the NVIDIA Accelerated Graphics Driver
for Linux-x86_64 (version 410.78) is now complete.
OK
在终端里输入:nvidia-smi ,输出以下图片的代码则安装成功
cuda10.0安装
1.sudo sh cuda_10.0.130_410.48_linux.run
接下来进入英文选择界面按住空格键可以快速浏览
在安装过程中选项选择:
accept #同意安装
n #不安装Driver,因为已安装驱动**(这里需要强调一下)**
y #安装CUDA Toolkit
#安装到默认目录
y #创建安装目录的软链接
n #不复制Samples,因为在安装目录下有/samples
2.添加环境变量
home文件下 ctrl+H显示隐藏文件 打开 .bashrc文件在最后添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
source ~/.bashrc 保存操作
nvcc --version 检查cuda是否安装成功
cat /usr/local/cuda/version.txt
查看cuda版本
1.准备好cuda相对应的cudnn文件,将文件解压得到cuda文件夹,在终端中打开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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
2.查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
输出代码,表示的是安装的7.4.2版本的cudcnn
到此为止,nvidia驱动、cuda10.0和cudnn全部安装成功
如果你安装成功了,可以动动小手点个赞!
#################################################################################
最后运行tensorflow-gpu报错 ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory
终端里面执行sudo ln -sf /usr/local/cuda-10.0/lib64/libcudnn.so.7.4.2 /usr/local/cuda-10.0/lib64/libcudnn.so.7 #libcudnn.so.7.4.2和libcudnn.so.7理论上只有一个
最后:sudo ldconfig /usr/local/cuda-10.0/lib64
完成!!!