1. [主页  
](/)

[CUDA-X 库](/gpu-accelerated-libraries)

cuDNN

# NVIDIA cuDNN

NVIDIA® CUDA® 深度神经网络库（cuDNN）是一款 GPU 加速的深度神经网络基础算子库。cuDNN 为标准操作（如前向和反向卷积、注意力、矩阵乘法（matmul）、池化和归一化）提供高度优化的实现。

* * *

## 下载 cuDNN

[下载 cuDNN 库](/rdp/cudnn-download &quot;vMaterials for Windows&quot;)[下载 cuDNN 前端  
  
  
  
  
( GitHub)](https://github.com/NVIDIA/cudnn-frontend &quot;vMaterials for Linux &quot;)

cuDNN 也可以通过下方的包管理器之一进行下载。

### 使用 conda 快速安装

    conda install nvidia::cudnn cuda-version=12

安装 cuDNN 库

### 使用 Docker 快速拉取

    docker pull nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04

安装 cuDNN 库

### 使用 pip 快速安装

    pip install nvidia-cudnn

安装 cuDNN 库

###   

    pip install nvidia-cudnn-frontend

安装 cuDNN 前端 API

[文档](https://docs.nvidia.com/deeplearning/cudnn/latest/)

[论坛](https://forums.developer.nvidia.com/c/ai-data-science/deep-learning/cudnn/90)

* * *

## cuDNN 的工作原理

- 

**加速学习：** cuDNN 提供了针对 Tensor Core 优化的内核，在计算密集型操作中实现最佳性能，并为不同问题规模挑选合适的内核提供启发式算法。

- 

**融合支持：** cuDNN 支持将计算密集型和内存密集型操作进行融合。常见的通用融合模式通常通过运行时内核生成实现，特殊的融合模式则使用预编写的优化内核。

- 

**表达性算子图 API：** 用户可以将计算定义为张量上的操作图。cuDNN 库既有直接的 C API，也有开源的 C++ 前端以提升使用便利性。大多数用户选择前端作为使用 cuDNN 的入口。

### cuDNN API 代码示例

该代码使用 cuDNN 与 PyTorch 集成，实现了带有偏置的批量矩阵乘法。

    import torch import cudnn # Prepare sample input data. nvmath-python accepts input tensors from pytorch, cupy, and # numpy. b, m, n, k = 1, 1024, 1024, 512 A = torch.randn(b, m, k, dtype=torch.float32, device=&quot;cuda&quot;) B = torch.randn(b, k, n, dtype=torch.float32, device=&quot;cuda&quot;) bias = torch.randn(b, m, 1, dtype=torch.float32, device=&quot;cuda&quot;) result = torch.empty(b, m, n, dtype=torch.float32, device=&quot;cuda&quot;) # Use the stateful Graph object in order to perform multiple matrix multiplications # without replanning. The cudnn API allows us to fine-tune our operations by, for # example, selecting a mixed-precision compute type. graph = cudnn.pygraph( intermediate\_data\_type=cudnn.data\_type.FLOAT, compute\_data\_type=cudnn.data\_type.FLOAT, ) a\_cudnn\_tensor = graph.tensor\_like(A) b\_cudnn\_tensor = graph.tensor\_like(B) bias\_cudnn\_tensor = graph.tensor\_like(bias) c\_cudnn\_tensor = graph.matmul(name=&quot;matmul&quot;, A=a\_cudnn\_tensor, B=b\_cudnn\_tensor) d\_cudnn\_tensor = graph.bias(name=&quot;bias&quot;, input=c\_cudnn\_tensor, bias=bias\_cudnn\_tensor) # Build the matrix multiplication. Building returns a sequence of algorithms that can be # configured. Each algorithm is a JIT generated function that can be executed on the GPU. graph.build([cudnn.heur\_mode.A]) workspace = torch.empty(graph.get\_workspace\_size(), device=&quot;cuda&quot;, dtype=torch.uint8) # Execute the matrix multiplication. graph.execute( { a\_cudnn\_tensor: A, b\_cudnn\_tensor: B, bias\_cudnn\_tensor: bias, d\_cudnn\_tensor: result, }, workspace )

### cuDNN Graph API 描述的操作图示例
 ![](https://developer.download.nvidia.com/images/conv_bias_relu.png)

_先进行 ConvolutionFwd（卷积前向），随后执行包含两个操作的有向无环图（DAG）。_

### 文档

完整指南说明了 cuDNN 前端和后端的安装与使用。

[阅读文档](https://docs.nvidia.com/deeplearning/cudnn/latest/)

### 前端示例

示例展示了 Python 和 C++ 前端 API 的使用方法。

[查看示例](https://docs.nvidia.com/deeplearning/cudnn/frontend/latest/samples.html)

### 
### 最新版本博客  

了解如何在 cuDNN 9 中使用缩放点积注意力（SDPA）加速 transformer。

[阅读博客](https://developer.nvidia.com/zh-cn/blog/accelerating-transformers-with-nvidia-cudnn-9/)

### NVIDIA Blackwell 上的 cuDNN  

了解 cuDNN 针对 NVIDIA Blackwell 微缩放格式的全新／更新 API 以及如何使用这些 API 进行编程。

[观看会议](https://www.nvidia.cn/on-demand/session/gtc25-s73071/)

* * *

## 主要特性

### 深度神经网络  

深度学习神经网络广泛应用于计算机视觉、对话式 AI 以及推荐系统，并推动了诸如智能驾驶与智能语音助手等突破性进展。NVIDIA 的 GPU 加速深度学习框架显著缩短了这些技术的训练时间，将数天的训练过程缩短到数小时。

cuDNN 为云端、嵌入式设备和智能驾驶汽车中的深度神经网络提供高性能、低延迟的推理基础库。

- 

加速 attention 训练／预填、卷积和矩阵乘法（matmul）等计算密集型操作

- 

优化如 attention 解码、池化、softmax、归一化、激活、逐点操作、张量变换等内存密集型操作

- 

支持计算密集型与内存密集型操作的融合

- 

提供运行时融合引擎，可为常见融合模式在运行时生成内核

- 

针对如融合 attention 等重要专用模式进行优化

- 

根据具体问题规模应用启发式算法，选择合适的实现

### cuDNN Graph API 与融合  

cuDNN Graph API 设计用于表达深度学习中的常见计算模式。cuDNN 图将操作表示为节点、张量表示为边，这与典型深度学习框架中的数据流图类似。

通过 [Python/C++ 前端 API](https://github.com/NVIDIA/cudnn-frontend)（推荐）以及底层 C 后端 API（用于旧用例或不适合 Python/C++ 的特殊场景），均可便捷地访问 cuDNN Graph API。

- 

支持将受内存限制的操作灵活地融合到矩阵乘法（matmul）和卷积的输入与输出中

- 

提供如 attention 与卷积归一化等模式的专用融合

- 

支持前向和反向传播

- 

针对不同问题规模，提供最佳实现的启发式预测

- 

开源 Python/C++ 前端 API

- 

支持序列化与反序列化

* * *

## cuDNN 加速框架

cuDNN 加速了广泛使用的深度学习框架，包括 PyTorch、JAX、Caffe2、Chainer、Keras、MATLAB、MxNet、PaddlePaddle 和 TensorFlow。

 ![cuDNN Accelerated Framework - Caffe2](https://developer.download.nvidia.com/images/caffe2-logo.svg)

 ![cuDNN Accelerated Framework - Chainer](https://developer.download.nvidia.com/images/chainer-logo.svg)

 ![cuDNN Accelerated Framework - JAX](https://developer.download.nvidia.com/images/jax-logo.svg)

 ![cuDNN Accelerated Framework - MATLAB](https://developer.download.nvidia.com/images/matlab-logo.svg)

 ![cuDNN Accelerated Framework - Microsoft Cognitive Toolkit](https://developer.download.nvidia.com/images/microsoft-cognitive-toolkit-logo.svg)

 ![cuDNN Accelerated Framework - MXNet](https://developer.download.nvidia.com/images/mxnet-logo.svg)

 ![cuDNN Accelerated Framework - PaddlePaddle](https://developer.download.nvidia.com/images/paddle-paddle-logo.svg)

 ![cuDNN Accelerated Framework - PyTorch](https://developer.download.nvidia.com/images/pytorch-logo.svg)

 ![cuDNN Accelerated Framework - TensorFlow](https://developer.download.nvidia.com/images/tensorflow-logo.svg)

 ![cuDNN Accelerated Framework - Wolfram Language](https://developer.download.nvidia.com/images/wolfram-language-logo.svg)

 ![cuDNN Accelerated Framework - XLA](https://developer.download.nvidia.com/images/xla-logo.svg)

* * *

## 相关库与软件  

### NVIDIA NeMo™  

NeMo 是一个端到端的云原生框架，开发者可用其构建、自定义并部署拥有数十亿参数的生成式 AI 模型。

[了解详情](/nemo)

### NVIDIA TensorRT™  

TensorRT 是用于高性能深度学习推理的软件开发工具包。

[了解详情](/tensorrt)

### 
### NVIDIA 优化框架

深度学习框架通过高级编程接口为设计、训练和验证深度神经网络提供构建模块。

[了解详情](https://docs.nvidia.com/deeplearning/frameworks/index.html#undefined&#39;)

### NVIDIA 集合通信库

NCCL 是为高带宽、低延迟、GPU 加速网络设计的通信库。

[了解详情](/nccl)

* * *

## 更多资源

 ![Join the Developer Community](https://developer.download.nvidia.com/images/omniverse/m48-people-group.svg)
### 加入社区  

 ![Join the NVIDIA Developer Program](https://developer.download.nvidia.com/icons/m48-developer-1.svg)
### 加入 NVIDIA 开发者计划

 ![NVIDIA Inception Program](https://developer.download.nvidia.com/icons/m48-ai-startup.svg)
### 加速您的初创公司

* * *

## 道德 AI

NVIDIA 认为可信的 AI 是共同的责任，并已建立相关政策与实践，助力广泛的 AI 应用开发。当根据我们的服务条款下载或使用模型时，开发者应与其支持的模型团队协作，确保所用模型符合相关行业和应用场景要求，并预防产品被误用的风险。  
  
如需报告安全漏洞或 NVIDIA AI 相关问题，请访问官方渠道。

## 立即开始使用 cuDNN

[下载 cuDNN 库](/rdp/cudnn-download &quot;vMaterials for Windows&quot;)[下载 cuDNN 前端  
  
  
  
  
( GitHub)](https://github.com/NVIDIA/cudnn-frontend &quot;vMaterials for Linux &quot;)


