前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >配置深度学习主机与环境(TensorFlow+1080Ti) | 第三章 CUDA与CUDNN安装

配置深度学习主机与环境(TensorFlow+1080Ti) | 第三章 CUDA与CUDNN安装

作者头像
用户1332428
发布2018-03-08 17:11:02
1.6K0
发布2018-03-08 17:11:02
举报
文章被收录于专栏:人工智能LeadAI人工智能LeadAI
01 概念介绍

CUDA(Compute Unified Device Architecture 统一计算设备架构)

CUDA(Compute Unified Device Architecture),是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务。 使用CUDA的好处就是透明。根据摩尔定律GPU的晶体管数量不断增多,硬件结构必然是不断的在发展变化,没有必要每次都为不同的硬件结构重新编码,而CUDA就是提供了一种可扩展的编程模型,使得已经写好的CUDA代码可以在任意数量核心的GPU上运行。 CUDA最主要的包含两个方面:一个是ISA指令集架构;第二硬件计算引擎;实际上是硬件和指令集。 也就是说我们可以把CUDA看做是与X86或者cell类似的架构,但是是基于是GPU,而不是传统的CPU。

cuDNN(NVIDIA CUDA® Deep Neural Network library)

The NVIDIA CUDA® Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers. cuDNN is part of the NVIDIA Deep Learning SDK(https://developer.nvidia.com/deep-learning-software). Deep learning researchers and framework developers worldwide rely on cuDNN for high-performance GPU acceleration. It allows them to focus on training neural networks and developing software applications rather than spending time on low-level GPU performance tuning. cuDNN accelerates widely used deep learning frameworks, including Caffe(http://caffe.berkeleyvision.org/), Caffe2(https://caffe2.ai/), TensorFlow(https://www.tensorflow.org/), Theano(http://deeplearning.net/software/theano/), Torch(http://torch.ch/), and Microsoft Cognitive Toolkit(https://www.microsoft.com/en-us/cognitive-toolkit/).

cuDNN Accelerated Frameworks

02

安装显卡驱动

在安装CUDA和cuDNN之前,需要确保显卡驱动已经安装好,其安装情况可以在 设置-软件更新-附加驱动 中查看:

设置-软件更新-附加驱动

更多关于显卡(文中使用1080Ti)安装的步骤,可以参考系列文章的第二篇:

配置深度学习主机与环境(TensorFlow+1080Ti):(二)Win10&Ubuntu双系统与显卡驱动安装

03

安装CUDA

1、查阅 NVIDIA CUDA Installation Guide for Linux

英伟达CUDA安装指南(Linux)(http://10.254.1.82/cache/13/03/nvidia.com/ecc6662f545298ca0c880c74dad092df/CUDA_Installation_Guide_Linux.pdf?autho=1488263945_400e879a62681edc11f46d33e8611979&file=CUDA_Installation_Guide_Linux.pdf)

对于后续的学习与工作大有裨益,包含了CUDA的详尽安装说明。当然如果你不想阅读英文,只想尽快安装CUDA,可以参照后续步骤。

2、下载 CUDA Toolkit (https://developer.nvidia.com/cuda-downloads)安装包:

安装包下载选项

推荐使用第一个runfile (local) 安装选项;

网上不少教程中写有需要降低gcc版本,实测,无需降级,因此可以忽略;

下载第一个 Base Installer 即可。

3、安装CUDA 8.0

安装指南

打开终端,输入:sudo sh cuda_8.0.61_375.26_linux.run,在下载选项中,也有说明如何安装;

sudo sh cuda_8.0.61_375.26_linux.run

如果出现大段废话,可以使用 Ctrl+C 跳过;

进入具体的安装选项:

安装选项

注意第二个选项 Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? 须选择否,因为在之前已经安装好了显卡驱动,无需重新安装。

Do you accept the previously read EULA? accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26? (y)es/(n)o/(q)uit: n Install the CUDA 8.0 Toolkit? (y)es/(n)o/(q)uit: y Enter Toolkit Location [ default is /usr/local/cuda-8.0 ]: Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: y Install the CUDA 8.0 Samples? (y)es/(n)o/(q)uit: y Enter CUDA Samples Location [ default is /home/dexter ]:

添加环境变量:

在终端中输入nvidia-smi,可以查询显卡状态。

查询显卡状态

在打开的文件中写入:

export PATH="$PATH:/usr/local/cuda-8.0/bin" export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64"

保存并关闭文件, 在终端中输入:

source ~/.bashrc

使环境更改生效。

4、在终端中输入nvidia-smi,可以查询显卡状态。

查询显卡状态

5、CUDA Samples 测试

运行 CUDA Samples 检测 CUDA 是否顺利安装:

打开终端,切换到位置:~/ NVIDIA_CUDA-8.0_Samples

输入:make

CUDA Samples 测试

编译时间较长。若没有报错,则将新编译为二进制文件,默认存放在 ~/NVIDIA_CUDA-7.5_Samples/bin 中。

打开终端,切换到位置:~/NVIDIA_CUDA-8.0_Samples/bin/x86_64/linux/release

终端输入:./deviceQuery,如果显示类似下图,则说明CUDA安装且配置成功!

CUDA安装且配置成功!

04

安装cuDNN

1、下载cuDNN,下载之前需要注册Nvidia开发者帐号,按要求注册即可。

2、莫名其妙在我的笔记本上无法登录...在主机的Ubuntu中可以顺利登录...此条纯属吐槽,封IP真是够了...

IP blocked

3、登录后显示有多个版本可供选择,建议使用 cuDNN v5.1 for CUDA 8.0,因为作者最开始尝鲜选择 cuDNN v6.0 for CUDA 8.0 最后安装失败,应该是支持还不到位。然后又删掉cuDNN,再重新安装(中间删掉重新安装cuDNN已经安装好的Anaconda不影响,但是最好重新安装TensorFlow)。

具体报错为:

ImportError: libcudnn.so.5: cannot open shared object file: No such file or director

Error

在安装cuDNN中,可以看到安装文件的版本为libcudnn.so.6,所以很明显是v6版本不支持导致的错误(参见本文最后一张图,是安装cuDNN v6时的截图,其中包含libcudnn.so.6文件)。

stcokoverflow 中也出现了相关问题: ImportError: libcudnn when running a TensorFlow program(https://stackoverflow.com/questions/41991101/importerror-libcudnn-when-running-a-tensorflow-program)

ImportError: libcudnn when running a TensorFlow program

选择 cuDNN v5.1 for CUDA 8.0 中的 cuDNN v5.1 Library for Linux 下载:

cuDNN v5.1 Library for Linux

在包含安装文件的文件夹,右键,打开终端,输入如下命令行:

tar xvzf cudnn-8.0-linux-x64-v5.1.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64 sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*

相当于解压缩+复制粘贴,手动复制粘贴也是没问题的。到此cuDNN安装完毕。

cuDNN安装完毕(v6仅作示范,后面删除换为了v5)

05

参考资料

1、知乎:Ubuntu 16.04.2 + GTX1080 + Python3 TensorFlow 配置(https://zhuanlan.zhihu.com/p/25429108)

2、Ubuntu 14.04 上安装 CUDA 7.5/8.0 超详细教程(http://blog.csdn.net/masa_fish/article/details/51882183)

3、超详细配置Caffe(gpu版本+ubuntu16.04)考虑各种问题(http://blog.csdn.net/a_z666666/article/details/72853346)

4、我爱自然语言处理:深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow(http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu16-04-geforce-gtx1080-tensorflow)

5、Ubuntu 16.04安装配置TensorFlow GPU版本(http://www.linuxidc.com/Linux/2016-11/137561.htm)

6、ubuntu16.04下安装TensorFlow(GPU加速)(http://blog.csdn.net/bbzz2/article/details/54141215)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能LeadAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装显卡驱动
  • 安装CUDA
  • 安装cuDNN
  • 参考资料
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档