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

来源:互联网 发布:滨州行知中学招聘信息 编辑:程序博客网 时间:2024/05/18 02:18

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

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

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

cudnn是什么呢?
它是一个基于CUDA的深度学习库,可以用来加速深度学习的训练过程。

好了,知其然,并知其所以然,让我们开始我们的安装之旅吧!

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

注:如果你的电脑不支持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.
牢记Version
3)由于以上这个网页反映较慢,需要等待一段时间,请您耐心等候。或者选择方案二。

方案二:
1)进入以下链接显卡查询链接
2)进行查询
注:该地址的内容正在更新中,很快就会开放。这个网址的查询速度会比较快一些。

3.禁用可能导致问题的开源驱动,编辑/etc/modprobe.d/blacklist.conf文件1)sudo vim /etc/modprobe.d/blacklist.conf2)添加以下内容:blacklist amd76x_edacblacklist vga16fbblacklist nouveaublacklist nvidiafbblacklist rivatv
4.卸载本机安装过的NVIDIA驱动。sudo apt-get remove  --purge nvidia-*
5.执行以下命令添加驱动源。sudo add-apt-repository ppa:graphics-drivers/ppasudo apt-get update
6.按下Ctrl+Alt+F1组合键切换到tty1界面下执行以下命令:sudo service lightdm stop  # 停止servicesudo apt-get install nvidia-375 nvidia-settings nvidia-prime    # 安装nvidia-375 nvidia-settings nvidia-prime,nvidia-375表示上面查询到的Version.sudo nvidia-xconfig        # 配置nvidiasudo update-initramfs -u   # 更新配置sudo reboot                # 重启Linux

注:这里可能会遇到循环登录的问题,以下是一种解决方案。
它可以解决安装在虚拟机上的Ubuntu出现循环登录的问题。

sudo apt-get updatesudo apt-get install --reinstall ubuntu-desktopsudo apt-get install unitysudo 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.runsudo 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案例1cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery2)make3sudo ./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  #生成软衔接至此,cudnn安装完毕。

注:
1)由于个人能力有限,可能会出现一些错误,希望大家多多包涵。
2)该博客属于本人原创,如果需要装载,请联系我,我会及时回复大家。
邮箱:1575262785@qq.com
3)如果你在安装的过程中遇到解决不了的问题,欢迎你提出问题,我们一起学习,一起进步。

1 0
原创粉丝点击