简介
NVIDIA CUDA® 深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络基元库,能够以高度优化的方式实现标准例程(如前向和反向卷积、池化层、归一化和激活层)。 全球的深度学习研究人员和框架开发者都依赖 cuDNN 来实现高性能 GPU 加速。借助 cuDNN,研究人员和开发者可以专注于训练神经网络及开发软件应用,而不必花时间进行低层级的 GPU 性能调整。cuDNN 可加速广泛应用的深度学习框架,包括 Caffe2、Chainer、Keras、MATLAB、MxNet、PaddlePaddle、PyTorch 和 TensorFlow。如需获取经 NVIDIA 优化且已在框架中集成 cuDNN 的深度学习框架容器,请访问 NVIDIA GPU CLOUD 了解详情并开始使用。
:::info
简单而言,启用 cudnn 可以通过cudnn来进行 GPU 加速,从而提高 diffusion 生成速度,开启满血模式。:::
下载
cudnn是开发者工具,可以访问 https://developer.nvidia.com/zh-cn/cudnn,注册开发者账号,填写问卷,之后下载对应 cuda 版本的型号和平台版本:
关于如何了解自己的 cuda 版本可以用 nvidia-smi 管理工具查询:
安装
首先确保 webui 关闭。
以Windows 为例,解压下载下来的 zip 文件包,里面有 bin, include ,lib 等目录
找到 cuda 工具包安装目录,比如我的电脑上:
那么我们需要将:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
- cuDNN中bin目录下的文件移动到 CUDA 的 bin 目录中:
- cuDNN目录中的 include 中的文件移动到 CUDA 的 include 目录中
- cuDNN目录中的 lib 中的文件移动到 CUDA 的 lib 目录中:
安装完成
验证驱动正常
通过NVIDIA提供的 deviceQuery.exe 和 bandwidthTest.exe 来查看GPU的状态,两者均在安装目录的 extras\demo_suite文件夹中:运行 deviceQuery:
运行bandwidthTest:
验证 cudnn 是否正常安装
cudnn没有安装步骤,只有文件复制步骤,可以通过 python 进入命令行环境,用命令的方式查询
from torch.backends import cudnn
print(cudnn.is_available())
# 返回 true 既是正常安装
True
例如:
在 stable-diffusion-webui 中启用
将 cuDNN 中bin目录下的文件复制到 stable-diffusion-webui\venv\Lib\site-packages\torch\lib
中覆盖即可。
未启用之前速度:
启用之后,提升差不多 30% ~40%左右。
参考
【AI绘画】cudnn替换,为你的40系显卡开启满血模式(4090加速)
Installation Guide :: NVIDIA Deep Learning cuDNN Documentation