1、cuDNN是什么?

cuDNN全称NVIDIA CUDA® Deep Neural Network library, 是一个用于深度神经网络的GPU加速库。

cuDNN包含了为神经网络中常见的计算任务提供高度优化的实现。包括前向卷积、反向卷积、注意力机制、矩阵乘法(matmul)、池化(pooling)和归一化(normalization)等。

cuDNN的最常见用途是在深度学习框架(如TensorFlow或PyTorch)的开发中。深度学习框架开发者在编写框架时,通常会调用cuDNN,从而几乎不直接与CUDA进行交互。而对于我们使用PyTorch做AI应用的终端用户来说,更没有机会使用cuDNN的。

2、cuDNN和CUDA Toolkit的关系

CUDA Toolkit不包含cuDNN。CUDA Toolkit是一个更底层的工具包,其中的库是针对的是更基础的操作,比如线性代数中各种矩阵和向量的运算,还有用于文件I/O,支持在GPU上进行高性能文件操作等。而cuDNN是专门为深度学习的各种运算所设计的库,它需要使用CUDA Toolkit中的一些库。

3、参考

本文参考自《PyTorch面试精华》