cuDNN概述
cuDNN概述
NVIDIACUDA®深度神经网络库(cuDNN)是GPU加速的用于深度神经网络的原语库。cuDNN为标准例程提供了高度优化的实现,例如向前和向后卷积,池化,规范化和激活层。
全球的深度学习研究人员和框架开发人员都依赖cuDNN来实现高性能GPU加速。它使他们可以专注于训练神经网络和开发软件应用程序,而不必花时间在底层GPU性能调整上。cuDNN的加快广泛使用的深度学习框架,包括Caffe2,Chainer,Keras,MATLAB,MxNet,PyTorch和TensorFlow。已将cuDNN集成到框架中的NVIDIA优化深度学习框架容器,访问NVIDIA GPU CLOUD了解更多信息并开始使用。
8x Tesla V100 + cuDNN 7.6 on 20.03 NGC container vs. 8x Tesla A100 + cuDNN 8.0 Preview on Pre-Release NGC container. MaskRCNN, PyTorch TF32 vs FP32, Batch Size: 8. GNMT, PyTorch TF32 vs FP32, Batch Size: 512. WaveGlow, PyTorch TF32 vs FP32, Batch Size: 10. U-Net Medical, TensorFlow FP16 (Mixed) vs FP16, Batch Size: 16. U-Net Industrial, TensorFlow FP16 (Mixed) vs FP16, Batch Size: 24. TacoTron2, PyTorch FP16 (Mixed) vs FP16, Batch Size: 128.
cuDNN 8的新增功能
cuDNN 8针对A100 GPU进行了优化,提供了比V100 GPU高出5倍的高性能,并且包括针对会话AI和计算机视觉等应用程序的新优化和API。经过重新设计,易于使用,集成应用程序,并为开发人员提供了更大的灵活性。
cuDNN 8的亮点包括:
- 已针对包括新TensorFloat-32,FP16和FP32在内的NVIDIA A100 GPU的峰值性能进行了调整
- 重新设计的低级API可直接访问cuDNN内核,以实现更好的控制和性能调整
- 向后兼容层保持对cuDNN 7.x的支持,使开发人员可以管理向新cuDNN 8 API的过渡
- 针对计算机视觉,语音和语言理解网络的新优化
- 融合运算符以新API加速卷积神经网络
cuDNN 8现在提供六个较小的库,可在集成到应用程序时提供粒度。
主要特征
- 适用于所有常见卷积的Tensor Core加速,包括2D,3D,分组,深度可分离以及使用NHWC和NCHW输入和输出进行扩张
- 针对计算机视觉和语音模型的优化内核,包括ResNet,ResNext,SSD,MaskRCNN,Unet,VNet,BERT,GPT-2,Tacotron2和WaveGlow
- 支持FP32,FP16和TF32浮点格式以及INT8和UINT8整数格式
- 4d张量的任意维排序,跨距和子区域意味着可以轻松集成到任何神经网络实现中
- 加速任何CNN架构上的融合操作
cuDNN在Windows和Linux上受数据中心和移动GPU中的Ampere,Turing,Volta,Pascal,Maxwell和Kepler GPU体系结构支持。
cuDNN加速框架