该博客为《Ubuntu 相关》系列博客的第十一篇,该系列博客主要对Ubuntu安装各种软件或者库进行一个记录,方便重装系统后快速恢复工作。
安装完英伟达的显卡驱动,当然接着要安装CUDA和cuDNN,同样,安装CUDA看了很多资料,结果还是按照自己的方法安装上了,以下进行安装过程的记录。
Ubuntu16.04 GTX1050Ti安装CUDA10.0和cuDNN7.4.2
版本选择CUDA对显卡驱动版本的要求PaddlePaddle对CUDA和cuDNN版本的要求TensorFlow对CUDA和cuDNN版本的要求CUDA10.0下载源文件安装CUDA查看CUDA安装的要求检查自己的电脑环境是否具备安装CUDA的条件验证自己的电脑是否有一个可以支持CUDA的GPU验证自己的Linux版本是否支持 CUDA(Ubuntu 16.04没问题)验证系统是否安装了gcc验证系统是否安装了kernel header和 package development查看正在运行的系统内核版本安装对应kernel版本的kernel header和package development安装CUDA禁用 nouveau驱动安装步骤cuDNN7.4.2下载源文件安装过程解压下载的文件复制文件到cuda安装路径下查看cudnn版本版本选择
CUDA对显卡驱动版本的要求
/cuda/cuda-toolkit-release-notes/index.html
我的显卡驱动是430版本的,所以完全可以安装CUDA10.0。
PaddlePaddle对CUDA和cuDNN版本的要求
.cn/install/quick/zh/1.8.5-linux-conda
TensorFlow对CUDA和cuDNN版本的要求
/install/source#linux
综上,我们选择CUDA10.0和cuDNN7.4.2是可以满足两个深度学习框架的安装要求的。
CUDA10.0
下载源文件
官网地址:/cuda-toolkit-archive
网盘地址:/s/1hDnB1yuKao2Mh2dnJtKJwg 提取码: zskp
安装CUDA
查看CUDA安装的要求
在下载页面的下方有个Installation Guide for Linux
,可以下载下来看看。
可以在文件中找到下面这个表,表中列出了一些版本信息:
我们最好按照表中的版本来安装,不过我有几个版本根表上的不一样,也安装成功了,不知道为什么!!!
检查自己的电脑环境是否具备安装CUDA的条件
验证自己的电脑是否有一个可以支持CUDA的GPU
你可以电脑的配置信息中找到显卡的具体型号
lspci | grep -i nvidia
会显示出你的NVIDIA GPU版本信息,不过不是很详细。
然后去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中。
然后就会惊奇的发现1050Ti没有,不过没有关系,看大佬的博客说是可以安装,这个表可能是不全!!!
验证自己的Linux版本是否支持 CUDA(Ubuntu 16.04没问题)
uname -m && cat /etc/*release
我的Ubuntu是16.04.7,这个跟官方文件里要求的不一样,但是可以安装!!!
验证系统是否安装了gcc
gcc -v
这里我的gcc版本是5.5,跟后官方的文件要求不一样,但是没有关系,装就完了!!!
验证系统是否安装了kernel header和 package development
查看正在运行的系统内核版本
uname -r
可以看到,我的版本依然跟官方的不一样,说实话,装的时候还是有点慌得!
安装对应kernel版本的kernel header和package development
不知道有什么用,不过大佬安装了,我也试着安装一下。
sudo apt-get install linux-headers-$(uname -r)
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 4 个软件包未被升级。
表示系统里已经有了,不用重复安装。
安装CUDA
CUDA提供两种安装方式:package manager安装和runfile安装, package manager 安装方式相对简单一些,但是我在阅读别人博客的过程中发现选择这种方式在安装过程中问题可能多一点,失败的概率较大。为了减少不必要的麻烦我选择runfile
安装方式。
禁用 nouveau驱动
lsmod | grep nouveau
如果没有输出,说明已经禁用,如果有输出则代表nouveau正在加载,需要我们手动禁掉nouveau。
Ubuntu的nouveau禁用方法:
在/etc/modprobe.d中创建文件blacklist-nouveau.conf
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
输入以下内容:
blacklist nouveaublacklist lbm-nouveauoptions nouveau modeset=0alias nouveau offalias lbm-nouveau off
执行命令更新
sudo update-initramfs –u
重启验证
lsmod | grep nouveau
若无内容输出,则禁用成功。
安装步骤
注意
:提前将cuda安装文件放到home文件下,方便后面安装。
Ctrl+Alt+F1进入字符终端界面输入用户名和密码关闭图形化界面
sudo service lightdm stop
找到下载文件,赋予运行权限
sudo chmod a+x cuda_10.0.130_410.48_linux.run
运行安装文件
sudo ./cuda_10.0.130_410.48_linux.run
有很长的一段阅读文件,按住回车键,一直到100%即可。依次输入:acceptno
yes yes yes
注意
:第二个问题是,是否安装英伟达显卡驱动,一定要选择no
,否则之前安装好的显卡驱动就废了。
安装成功后,会显示installed,否则会显示failed。安装一些库:
sudo apt install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
重新启动图形化界面
sudo service lightdm start
这时会自动启动图形化界面,如果不启动,可以按Ctrl+Alt+F7。
检查Device Node Verification
ls /dev/nvidia*
显示出类似的信息,应该有三个(包含一个/dev/nvidia-uvm的),则安装成功。
如果只有两个或者一个都没有,请参考博客《Ubuntu16.04安装cuda9.0+cudnn7.0》
设置环境变量
sudo vim ~/.bashrc
注意:.bashrc是当前用户生效的环境变量,(比如我是al007)如果想对全部用户生效,可以在/etc/profile文件中设置
export PATH=/usr/local/cuda-10.0/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
保存文件,让环境变量生效
source ~/.bashrc
检查上述的环境变量是否设置成功。
验证驱动版本:
cat /proc/driver/nvidia/version
验证CUDA Toolkit:
nvcc -V
尝试编译cuda提供的例子,看cuda能否正常运行
cd /home/al007(user_name)/NVIDIA_CUDA-9.0_Samplesmake
系统就会自动进入到编译过程,整个过程大概需要十几到二十分钟,请耐心等待。如果出现错误的话,系统会立即报错停止。如果编译成功,最后会显示Finished building CUDA samples
。
cd bin/x86_64/linux/release./deviceQuery
其中Result = PASS
代表成功,CUDA安装且配置成功,若失败 Result = FAIL。
检查一下系统和CUDA-Capable device的连接情况
cd bin/x86_64/linux/release./bandwidthTest
看到显示Result=PASS则成功。
cuDNN7.4.2
下载源文件
官网地址:/rdp/cudnn-archive
官网需要登录英伟达账号才可以下载,没有账号的可以注册一个。
网盘地址:/s/18H5lDXNoasF_GYWIxpg8gg 提取码: ndd4
安装过程
解压下载的文件
tar -xzvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
复制文件到cuda安装路径下
sudo cp cuda/include/cudnn.h /usr/local/cuda/includesudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
至此我们就结束了安装过程!!!
↓↓↓↓
☆★☆☆★☆☆★☆☆★☆
☆安☆☆装☆☆成☆☆功☆
☆★☆☆★☆☆★☆☆★☆