英伟达 cuDNN#

NVIDIA CUDA 深度神经网络库 (cuDNN) 是一个用于深度神经网络的 GPU 加速的原语库。它为深度神经网络 (DNN) 应用中频繁出现的操作提供了高度优化的实现。

  • 卷积前向和后向传播,包括互相关

  • 矩阵乘法

  • 池化前向和后向传播

  • Softmax 前向和后向传播

  • 算术、数学、关系和逻辑逐点运算(包括各种类型的前向和后向神经元激活)

  • 张量变换函数

  • LRN、LCN、批归一化、实例归一化和层归一化前向和后向传播

除了提供单个操作的高性能实现之外,cuDNN 还支持一组灵活的多操作融合模式,以进行进一步优化。目标是在 NVIDIA GPU 上为重要的深度学习用例实现最佳性能。

在 cuDNN 中,单操作和多操作计算都表示为操作图。以下 API 层可用于构建这些图:

  • Python 前端 API

  • C++ 前端 API

  • C 后端 API

NVIDIA cuDNN 前端 API 提供了一个简化的编程模型,足以满足大多数用例。

如果您想使用非基于图形界面且未通过前端 API 层公开的旧式固定功能例程,或者如果您需要纯 C 接口,请仅使用 NVIDIA cuDNN 后端 API

Block diagram showing the relationships between the cuDNN frontend and backend API layers and the intended audience for each layer