欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu14配置cuda

程序员文章站 2022-05-01 14:25:37
...

参考:
安装CUDA:Ubuntu 安装cuda-9.0
安装cudnn:Ubuntu安装cudnn
准备工作:把NVIDIA显卡驱动cudacudnn下载好,我是放在download目录下。

1安装NVIDIA显卡驱动

1.1 禁用nouveau(自带驱动)

ubuntu 默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。

编辑文件blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf
若未安装vim则sudo apt-get install vim安装或使用vi
在文件最后部分插入以下两行内容
blacklist nouveau
options nouveau modeset=0
更新系统
sudo update-initramfs -u
重启系统(一定要重启,注销不行)
验证nouveau是否已禁用
lsmod | grep nouveau
ubuntu14配置cuda
没有信息显示,说明nouveau已被禁用。

1.2 禁用X server

如果不禁用,在安装时会报下错:
ubuntu14配置cuda
怎样关闭X server:
在ubuntu下按ctrl+alt+f1进入命令行界面(控制器),

然后在输入:
sudo service lightdm stop //这个是关闭图形界面,不执行会出错。
然后卸载掉原有驱动:
sudo apt-get remove nvidia-* (若安装过其他版本或其他方式安装过驱动执行此项)
然后可以在控制器里安装驱动了。

1.3 安装驱动

进入下载好的驱动.run文件目录,
改变文件的执行权限:

sudo chmod  a+x NVIDIA-Linux-x86........run    (或直接777权限)

然后开始安装:

sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files //只有禁用opengl这样安装才不会出现循环登陆的问题

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件
(后面几项如果不写,装好驱动后系统会循环登录…)
安装结束后,输入sudo service lightdm restart 重启X server,这时就可以登入桌面了。
桌面终端,挂载Nvidia驱动:

modprobe nvidia

检查驱动是否安装成功:

nvidia-smi

如果出现如下提示,则说明安装成功:
ubuntu14配置cuda

2 安装CUDA

由于我的系统是Ubuntu14.04,不支持cuda9及以上版本,因此安装了cuda8.
步骤:
进入下载好的cuda目录(我下载的是run文件),更改权限(直接777),然后

sudo ./cuda.......run 

开始安装

出现下边边的界面时使用按键“Q”跳过。
ubuntu14配置cuda
嘛也不说了,就是接受 accept
ubuntu14配置cuda
到了选择安装显卡驱动时,由于前面已经安装好了驱动,这里使用“n”选择不安装。
ubuntu14配置cuda
后边就是选择是或者默认设置一直往下继续进行。
ubuntu14配置cuda
安装完成后添加环境变量
打开环境变量

sudo gedit ~/.bashrc

在环境变量中进行添加

#cuda-9.0
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

将环境变量文件保存关闭,并且在终端中输入环境变量更新指令

source ~/.bashrc 

验证安装是否成功

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

在终端中输入上边的指令,如果终端中显示下边的指令,result=pass 则证明cuda-9.0安装成功。
ubuntu14配置cuda

3 安装cuDNN(深度学习加速器)

cuDNN的下载链接在文章开始,需要注册账号,下载选择和cuda版本匹配的,我选择的是cuDNN v7.1.3for CUDA 8.0,选择第一个for Linux版。
安装过程实际上是把cudnn的头文件复制到CUDA的头文件目录里面去;把cuDNN的库复制到CUDA的库目录里面去。
首先需要将下载的cudnn tgz包解压,之后再执行如下命令:(大家也可以一个一个的移动到相应的cuda文件下):

# 复制cudnn头文件
sudo cp cuda/include/* /usr/local/cuda-10.0/include/
# 复制cudnn的库
sudo cp cuda/lib64/* /usr/local/cuda-10.0/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda-10.0/include/cudnn.h
sudo chmod +x /usr/local/cuda-10.0/lib64/libcudnn*

测试:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

如果出现类似这样的说明安装成功。
ubuntu14配置cuda

附加:安装好上述环境后安装darknet

darknet官网教程,先GitHub克隆到电脑,然后进入darknet目录:

git clone https://github.com/pjreddie/darknet.git
cd darknet

如果不需要cuda、cudnn、opencv,可以直接接着make编译即可。如果需要,则要修改一下该目录的Makefile文件:

sudo gedit Makefile

把前几行需要用到的把0修改成1保存即可,然后执行make编译。
编译过程中可能报错:
nvcc"not found
[obj/convolutional_kernals.o] Error 127
解决办法是:
修改刚才那个Makefile,找到NVCC=nvcc那一行,修改为
NVCC=/usr/local/cuda-8.0/bin/nvcc
即把中间路径加上去,保存再执行make即可。

安装完darknet后,测试时可能又出现这样的错误:
ImportError: libcudart.so.8.0:cannot open shared object file:No such file or…
解决办法参考:
https://blog.csdn.net/qq_38451119/article/details/81007904