cuDNN学习笔记(1)-- 编程模型和API结构

本文介绍了cuDNN库的基础知识,包括其作为CUDA深度神经网络库的功能,如加速卷积、池化和激活运算。讨论了编程模型,强调了主机和设备的概念,以及如何通过cudnnCreate()和cudnnDestroy()进行初始化和资源释放。此外,还概述了cuDNN 8.0后的API结构,分为多个库,如cudnn_ops_infer、cudnn_cnn_infer等,便于理解和使用。
摘要由CSDN通过智能技术生成

编程模型和API结构


Darknet框架其实是基于cudnn库7.0及以下的,本人使用的显卡需要8.0以上的cudnn,经过大量调试已经把代码玩残废了,还是要回头学习一下文档,今天开始从cudnn的文档入手。

简介

cuDNN全称 CUDA Deep Neural Network library,即CUDA深度神经网络库,用于GPU加速,已经更新到8.2.0版。完成一下几个功能的加速优化:

  • 卷积前向传播和反向传播运算, 含互相关
  • Pooling 前向传播和反向传播运算
  • Softmax 前向传播和反向传播运算
  • 神经元激活函数前向传播和反向传播运算:
    ‣ Rectified linear (ReLU)
    ‣ Sigmoid
    ‣ Hyperbolic tangent (TANH)
  • 张量变换函数
  • LRN(局部响应归一化), LCN(局部对比度归一化) and batch normalization前向传播和反向传播运算

cuDNN进行矩阵运算的时候比最快的GEMM矩阵计算库更能节约存储空间,在Darknet框架中,cuDNN主要还是用于卷积的运算。

编程模型

电脑由主机+外接显卡设备组成,host(主机)可简化为CPU+内存,device(设备)可简化为GPU+内存。cuDNN库公开了主机API,但是可以直接访问GPU设备端的的数据。

  • 初始化:调用cudnnCreate()获取句柄,每个函数都要通过获取的句柄操作GPU data
  • 资源释放:调用cudnnDes
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北溟客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值