Linux16.04配置CUDA8.0+CUDNNV5.1


CUDA – 作为一种并行编程语言API库,里面包含了很多使用的API函数。它主要用于GPU的编程。它内置了很多高性能的集成库,(包括"基于线性代数的cuBLAS",“基于FFT的cuFFT”“基于稀疏矩阵cuSPARSE” “基于随机数的cuRAND”“英伟达性能原语NPP"“基于特征值和矩阵分解的CULA”)可以大大的加速并行处理的速度。

由于大数据的普及和硬件的加速使得“深度学习”变得炽手可热。但是它里面会涉及到大量的矩阵操作。而GPU作为一个并行处理的硬件很擅长处理"矩阵操作",“一个高性能的GPU可以使得一个Model的训练时间从几周变为几天”,大大的加速训练的过程。这应该是GPU可以用于深度学习领域的根本原因。

也许很多人会问这和CUDA有什么关系呢?
当前全球的GPU提供商中最大的是NVIDIA,它是一家专业生产、加速GPU,并未企业提供解决方案的公司。由于“并行时代的到来”,使得这家公司的市值大升,有兴趣的同学可以去网上了解。而CUDA作为GPU的开发语言,是由NVIDIA公司提出、扩展和维护的。近几年CUDA发展的越来越壮大。越来越多的人开始去了解“并行编程”“CUDA开发”,毕竟“并行时代”已经来临。

一、配置CUDA

1、 首先,你需要做的一件事情是:检查你的电脑是否支持GPU。你可以通过以下的方式就行查找:
点击 “计算机”–“属性”–“设备管理器”–“显卡适配器”下面会显示你当前主机内所安装的CPU和GPU。

注意事项:

  1. 如果你的电脑不支持GPU,那么你需要先购买并安装GPU,再来执行以下的这些操作。
  2. 查找当前GPU所支持的驱动类型,具体方法如下所示:

方案一:
[1] 进入NVIDIA官方提供的驱动链接
[2] 选择合适的Product Type、Product Series、Product、Operating System、Language。

你应该选择的配置如下图所示:

你需要选择的配置

注意事项:

  1. 我的本机安装的是GTX1080显卡,因此我选择GTX1080,你需要根据上面获得的GPU型号进行适当的修改。因为我们需要配置Linux因此我们需要选择Linux-64bit。语言建议选择“English”。
  2. 你需要查看记住上面的“Version”,如下图的375.
  3. 由于以上这个网页反映较慢,需要等待一段时间,请您耐心等候。或者选择方案二。
    牢记Version

方案二:
1、进入以下链接显卡查询链接进行查询
2、禁用可能导致问题的开源驱动,编辑/etc/modprobe.d/blacklist.conf文件

[1] sudo vim /etc/modprobe.d/blacklist.conf
[2] 添加以下内容:
blacklist amd76x_edac
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv

3、卸载本机安装过的NVIDIA驱动。
sudo apt-get remove --purge nvidia-*

4、执行以下命令添加驱动源。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

5、按下Ctrl+Alt+F1组合键切换到tty1界面下执行以下命令:
sudo service lightdm stop # 停止service
sudo apt-get install nvidia-375 nvidia-settings nvidia-prime # 安装nvidia-375 nvidia-settings nvidia-prime,nvidia-375表示上面查询到的Version.
sudo nvidia-xconfig # 配置nvidia
sudo update-initramfs -u # 更新配置
sudo reboot # 重启Linux

注:这里可能会遇到循环登录的问题,以下是一种解决方案。
它可以解决安装在虚拟机上的Ubuntu出现循环登录的问题。
sudo apt-get update
sudo apt-get install --reinstall ubuntu-desktop
sudo apt-get install unity
sudo apt-get remove --purge nvidia*
shutdown -r now

二、安装CUDA8.0

1、 在该网址CUDA下载链接下载最新版本的CUDA。
2.、选择下载runfile local版本的CUDA
3、给runfile添加执行权限并执行安装

cd ~/Download/
sudo chmod +x cuda_8.0.61_375.26_linux.run
sudo sh cuda_8.0.61_375.26_linux.run

4、.根据命令行提示进行安装:

1)按q退出条款浏览或者按空格直到条款末尾,输入accept接受条款;
2)输入n不安装nvidia图像驱动,前面已经安装好驱动;
3)输入y安装cuda 8.0 toolkit;
4)回车确认cuda默认安装路径(/usr/local/cuda-8.0);
5)输入y安装CUDA 8.0 Samples;
6)输入CUDA 8.0 Samples安装路径:/home/用户名/CUDA/samples(选择你喜欢的目录进行安装)

5、配置一些环境变量,自我感觉可有可无,但是许多的方案都会有所涉及,建议配上吧。

[1] export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
[2] export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
[3] sudo gedit /etc/profile #导入动态库 
[4] export PATH = /usr/local/cuda/bin:$PATH #在文件末尾加入
[5] sudo gedit /etc/ld.so.conf.d/cuda.conf #创建链接文件 
[6] /usr/local/cuda/lib64 #在打开的文件中添加以下内容
[7] sudo ldconfig #执行使得链接生效

至此,CUDA安装完毕,你需要进行下面的验证工作来确保你的CUDA已经正确安装。

三、测试

测试CUDA案例
[1] cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
[2] make
[3] sudo ./deviceQuery

方案一:如果显示如下信息,则表示CUDA安装成功。
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)

Device 0: “GeForce GTX 1080”
CUDA Driver Version / Runtime Version 8.0 / 8.0
CUDA Capability Major/Minor version number: 6.1
Total amount of global memory: 8112 MBytes (8506179584 bytes)
(20) Multiprocessors, (128) CUDA Cores/MP: 2560 CUDA Cores
GPU Max Clock rate: 1835 MHz (1.84 GHz)
Memory Clock rate: 5005 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 2097152 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 2 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
<Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 1080Result = PASS

方案二:运行 nvidia-smi
显示如下结果则表明安装成功:
显示如下结果
注:这个可能会因为不同的GPU显示不同的输出,你需要进行判断。

方案三:运行 nvidia-settings
运行结果如下所示:
运行结果

四、配置cudnn

1、 打开官网链接cudnn链接
2、选择合适的cudnn,这里我们选择最新版本的cudnn5.1。

cudnn5.1

3、由于这是一个压缩文件,需要你进行解压。 tar -zxvf xxx.tar
4、cd xxx/include #切换进入include路径
5、sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
6、cd xxx/lib64 #切换进入lib64目录
7、sudo cp lib /usr/local/cuda/lib64/ #复制动态链接库
8、cd /usr/local/cuda/lib64/
9、sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
10、sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接
11、sudo ldconfig

注意事项

[1] 由于个人能力有限,可能会出现一些错误,希望大家多多包涵。
[2] 该博客属于本人原创,如果需要装载,请联系我,我会及时回复大家。邮箱:1575262785@qq.com
[3] 如果你在安装的过程中遇到解决不了的问题,欢迎你提出问题,我们一起学习,一起进步。
[4] 本文业余时间承接本科毕设和各种个人项目,具体包括图像处理(数据挖掘、机器学习和深度学习等)、matlba仿真、python算法和仿真等,需要的请加QQ:157526278,具体细节详聊。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值