AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库

时间:2024-07-08 19:06:44

08a6f55e62f938f9334386da72d53bdd.gif

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]


0x03.初识与安装 cuDNN 深度学习库

什么是cuDNN?

cuDNN(CUDA® Deep Neural Network library)是由英伟达(NVIDIA)开发的深度学习库,专门用于加速深度神经网络(DNN)的训练和推断过程,cuDNN 提供了高度优化的实现(如前向和后向卷积、attention、matmul、池化和归一化),利用 NVIDIA GPU 的并行计算能力来加速神经网络的运行。

主要功能和特性:

  • 卷积操作优化:cuDNN 实现了高度优化的卷积操作,包括常用的卷积、反卷积和池化等操作。这些优化能够显著加速卷积神经网络(CNN)的训练和推断过程。

  • RNN 和 LSTM 支持:cuDNN 提供了对循环神经网络(RNN)和长短期记忆网络(LSTM)等序列模型的优化支持,包括各种变体和层级。

  • 标准神经网络层优化:除了卷积和循环层,cuDNN 还优化了神经网络的标准层,如全连接层和激活函数(如ReLU)。

  • 高级特性支持:cuDNN 提供了一些高级特性,如半精度浮点计算(FP16)支持,这对于在保持高精度的同时显著提高训练和推断速度尤为重要。

  • 跨平台和接口支持:cuDNN 可以在多个操作系统上运行,并支持多种深度学习框架的接口,如 TensorFlowPyTorchCaffe 等,使得开发者可以利用其优化功能而无需深入底层编程。

原文链接:

AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库cuDNN是由英伟达开发的深度学习库,专门用于加速深度神经网络(DNN)的训练和推断过程,提供了高度优化的实现(如前向和后向卷积、attention、matmul、池化和归一化),利用NVIDIA GPU的并行计算能力来加速神经网络的运行https://mp.weixin.qq.com/s/a7a7S02uiUAXuc4GHf5vsQ

总体来说,cuDNN 是在 NVIDIA GPU 上进行深度学习计算时不可或缺的库之一,通过提供高效的算法实现和并行计算优化,显著提高了深度神经网络训练和推断的速度和效率。

官网地址:https://developer.nvidia.com/cudnn

 

cuDNN 与 CUDA 有何关系?

cuDNN 是基于 CUDA 构建的,因此需要 CUDA 才能运行。CUDA 提供了 GPU 并行计算的底层基础,而 cuDNN 则提供了针对深度学习应用的优化库。

简单的说,CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来,这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

前置条件:

在进行cuDNN安装之前,需要先安装 NVIDIA 显卡驱动程序及其适用于你当前系统的 CUDA 工具包,否则无法进行cuDNN的安装。

 

安装步骤: 

有两种安装cuDNN方法,使用特定于发行版的软件包(RPM 和 Debian 软件包)或独立于发行版的软件包(Tarballs)进行安装,此处作者建议尽可能使用特定于发行版的包。

Step 1.对于 Ubuntu 用户,还需安装 zlib 软件包,请运行:

sudo apt-get install zlib1g
# zlib1g 已经是最新版 (1:1.3.dfsg-3.1ubuntu2)。
# zlib1g 已设置为手动安装。

Step 2.访问 NVIDIA cuDNN 下载页面(developer.nvidia.com/cudnn),选择对应版本进行下载,如作者选择支持Ubuntu 24.04 的cuDNN,由于官网还没Ubuntu 24.04 此处使用22.04的来替代。

4fe43b899ae0ab3caf8e633dd7787fe5.png