小言_互联网的博客

CUDA配置一篇就够——Ubuntu

468人阅读  评论(0)

前言

最近给Ubuntu服务器和CentOS配置升级环境,发现以前写的文章还是能使用,这里分享给大家。
Linux系统是相似的,配置centos也可以参照这篇。
AI环境主要指的是 cuda+cudnn等基础环境,这是搭建tensorflow和pytorch等神经网络框架的基础,caffe的配置则要相对麻烦很多,可以参考我别的文章。cuda和cudnn用对应的版本都行,都是相近的。

软件

系统安装

Ubuntu的安装在网上已经有很多教程,这里就不多做赘述。
参考系统安装
分盘的话,假如有128G硬盘,4G内存,个人倾向于

  • / : 64G , 相当于Window系统的C盘,各种软件安装在这里
  • swap:4G, 直接等于内存大小即可
  • home:剩下的都给home
  • boot并不必要,真要分的话直接分2G即可

配置内核

通过官网的CUDA Toolkit可知,安装Ubuntu16.04需要4.4.0内核。
注意:当内核不匹配时,安装显卡驱动会出现错误。

当前查看内核版本

uname -r

如果你通过上面的命令显示出来的Ubuntu16.04内核如下为4.4.*版本,那么恭喜你,你可以跳过配置内核到下一步。

备份源配置文件(防止后面修改导致出错)

sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak

编辑源配置文件

sudo apt install vim
sudo vim /etc/apt/sources.list

快捷键 shift + g 跳转到文件最后一行,按 i 键, 输入

deb http://security.ubuntu.com/ubuntu trusty-security main

ESC键,输入 :x, 回车

安装对应内核版本

(Ubuntu16.04对应4.4)

  • 安装内核
sudo apt-get install linux-image-extra-4.4.0-75-generic
sudo apt-get install linux-headers-4.4.0-75-generic
  • 检查是否安装成功
dpkg -l | grep 4.4.0-75-generic
  • 修改grub配置文件
sudo vim /etc/default/grub

找到
GRUB_DEFAULT=0
修改为:
GRUB_DEFAULT=“Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-75-generic”

  • 保存退出,然后执行以下命令更新 Grub 引导
sudo update-grub
  • 重启系统
sudo reboot
  • 检查内核, 发现内核已经改变
uname -r
  • 删除多余内核
dpkg --get-selections| grep linux
## 以4.15为例
sudo apt-get remove linux-headers-4.15.0-33
## 删除deinstall的包
sudo dpkg -P linux-image-4.8.0-36-generic

附——Vim简单操作

  • 查找,输入 :/GTUB_DEFAULT, ,按ESC键退出
  • 输入,按i键进入输入状态
  • 状态退出, ESC键退出
  • 输入:x, 保存并退出

环境准备

安装依赖

sudo apt-get update
sudo apt-get install build-essential gcc g++

禁用nouveau

打开禁用设置文件

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

将下面的内容复制粘贴到打开的blacklist-nouveau.conf中

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

使环境变量生效

sudo update-initramfs -u

安装显卡驱动

NVIDIA驱动安装地址

驱动下载最新的就可以,但是如果是的是caffe环境的话,请选择cuda8对应的最新版本。

重启后,按Ctrl+alt+F1切换到文字界面,在文字界面禁用图形界面,在命令行输入:

sudo service lightdm stop

如果之前已经安装过,则需要清除该环境

sudo /usr/bin/nvidia-uninstall 
# 或者
sudo apt-get install autoremove --purge nvidia* 

然后按ctrl+alt+F7无法回到图形界面则说明关闭成功。
进入驱动安装包所在的目录输入ls查看目录信息,找到自己要安装的驱动包。
运行你下载的安装包

sudo chmod 777 ./NVIDIA-Linux-x86_64-375.66.run
sudo ./NVIDIA-Linux-x86_64-375.66.run

按照提示一步一步来,可能会有warning警告。安装完毕后输入

查看显卡和驱动信息:

nvidia-smi 

CUDA

进入 CUDA安装地址,依次选择 CUDA 类型然后下载即可。

安装

给下载的安装包*.run赋予执行权限

sudo chmod 777 cuda_8.0.44_linux.run

启动安装程序

sudo  ./cuda_8.0.44_linux.run

空格 跳页。

注意!注意!注意!
询问你是否安装Driver的时候的选择no
驱动前面已经安装过了(也可以不预装驱动,直接安装CUDA,但lightdm和nouveau还是要禁用)。
Toolkit必选,其他的随意

配置环境变量

安装完成后,开始配置cuda的环境变量
打开bashrc 文件

gedit ~/.bashrc

在文件的尾部写入

export PATH=/usr/local/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}

测试cuda sample
samples的文件路径是安装时的位置,之前没安装的话,再运行一次run文件即可,其他安装过的不要重复安装

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery

输出如下结果,说明安装成功。

安装CUDNN

cudnn下载
下载对应 cuda 版本且 linux 系统的 cudnn 压缩包。

解压下载的文件

# .zip文件
unzip -q cuda.zip
# .tgz文件
tar -xf cuda.tgz

用解压文件覆盖CUDA中头文件和库,并生成新的软链
注意:这里

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ #复制头文件
sudo cp cuda/lib64/lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.6.5libcudnn.so.7 #当前是7.6.5版本,生成软衔接
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接

检查是否CUDA和cudnn是否安装成功

nvcc -V


正常输出,那么恭喜你,CUDA配置大功告成!


转载:https://blog.csdn.net/Ashe_1994/article/details/105946108
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场