简介

官网:https://developer.nvidia.com/zh-cn/cudnn

NVIDIA CUDA® 深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络基元库,能够以高度优化的方式实现标准例程(如前向和反向卷积、池化层、归一化和激活层)。 全球的深度学习研究人员和框架开发者都依赖 cuDNN 来实现高性能 GPU 加速。借助 cuDNN,研究人员和开发者可以专注于训练神经网络及开发软件应用,而不必花时间进行低层级的 GPU 性能调整。cuDNN 可加速广泛应用的深度学习框架,包括 Caffe2ChainerKerasMATLABMxNetPaddlePaddlePyTorchTensorFlow。如需获取经 NVIDIA 优化且已在框架中集成 cuDNN 的深度学习框架容器,请访问 NVIDIA GPU CLOUD 了解详情并开始使用。

:::info

简单而言,启用 cudnn 可以通过cudnn来进行 GPU 加速,从而提高 diffusion 生成速度,开启满血模式。

:::

下载

cudnn是开发者工具,可以访问 https://developer.nvidia.com/zh-cn/cudnn,注册开发者账号,填写问卷,之后下载对应 cuda 版本的型号和平台版本:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图1

关于如何了解自己的 cuda 版本可以用 nvidia-smi 管理工具查询:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图2

安装

首先确保 webui 关闭。

以Windows 为例,解压下载下来的 zip 文件包,里面有 bin, include ,lib 等目录🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图3

找到 cuda 工具包安装目录,比如我的电脑上:

  1. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
那么我们需要将:
  • cuDNN中bin目录下的文件移动到 CUDA 的 bin 目录中:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图4

  • cuDNN目录中的 include 中的文件移动到 CUDA 的 include 目录中

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图5

  • cuDNN目录中的 lib 中的文件移动到 CUDA 的 lib 目录中:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图6

安装完成

验证驱动正常

通过NVIDIA提供的 deviceQuery.exebandwidthTest.exe 来查看GPU的状态,两者均在安装目录的 extras\demo_suite文件夹中:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图7

运行 deviceQuery:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图8

运行bandwidthTest:
🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图9

验证 cudnn 是否正常安装

cudnn没有安装步骤,只有文件复制步骤,可以通过 python 进入命令行环境,用命令的方式查询

  1. from torch.backends import cudnn
  2. print(cudnn.is_available())
  3. # 返回 true 既是正常安装
  4. True

例如:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图10

在 stable-diffusion-webui 中启用

将 cuDNN 中bin目录下的文件复制到 stable-diffusion-webui\venv\Lib\site-packages\torch\lib中覆盖即可。

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图11

未启用之前速度:

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图12

启用之后,提升差不多 30% ~40%左右。

🚄 40 系显卡启用 Cudnn GPU 加速生成 - 图13

参考

Windows 安装 CUDA/cuDNN

【AI绘画】cudnn替换,为你的40系显卡开启满血模式(4090加速)

Installation Guide :: NVIDIA Deep Learning cuDNN Documentation