GPU对CNN计算的加速原理到底是怎样的?
来源:互联网 发布:js在线编辑器 编辑:程序博客网 时间:2024/06/05 04:59
具体到cnn,利用gpu加速主要是在conv(卷积)过程上。conv过程同理可以像以上的向量加法一样通过cuda实现并行化。具体的方法很多,不过最好的还是利用fft(快速傅里叶变换)进行快速卷积。NVIDIA提供了cufft库实现fft,复数乘法则可以使用cublas库里的对应的level3的cublasCgemm函数。再具体到各大框架是如何使用gpu对cnn进行加速的,目前主流的做法是使用NVIDIA的cudnn库NVIDIA cuDNN。这个库集成了tensors变量、cnn、rnn等重要基础模型的ff、bp、update的函数,并支持multi device,框架通过传递tensors并调用cudnn来实现cnn、rnn等模型的核心运算。cudnn库和上面的cublas、cufft等库一样,是NVIDIA花重金打造的cuda加速库,性能优化几乎达到了巅峰,除非有强烈的造轮子冲动或者定制函数的需求,使用NVIDIA官方加速库是最佳选择。不过在GitHub的上一个叫deepcore的轻量级框架项目里,开发者声称cnn速度比cudnn快,看代码也是使用的fft快速卷积。说明cudnn还有提升潜力。而且通过阅读NVIDIA的cudnn的sample,我觉得cudnn作为一个全面严谨的深度学习加速库,虽然体现了开发者高超的编程能力,但是对于个人使用者来说,体系过于庞大、使用太繁琐。
阅读全文
0 0
- GPU对CNN计算的加速原理到底是怎样的?
- 什么是 GPU 加速的计算?
- 区块链的运行机制以及原理到底是怎样的?
- 【Python - GPU】基于Python的GPU加速并行计算 -- pyCUDA
- 前方到底是怎样的?
- 【经典回顾】Nvidia GPU 上的 CNN 计算速度变迁
- 如何建立一个GPU加速的研究计算集群(一)
- MATLAB上的GPU加速计算——学习笔记
- cookie到底是怎样存储数据的
- soaoffice对wps的支持到底怎样
- CNN的压缩和加速
- 使用 GPU 加速计算
- 了解GPU加速计算
- memory到底是怎么计算出来的
- 测试gpu的加速比
- 利用GPU加速的软件
- 基于cuda的gpu加速
- 利用GPU加速的软件
- volley 的get post 请求
- HDU6092Rikka with Subset(逆向背包)
- Qt控件-按钮组
- 算法训练 阿尔法乘积
- Oracle的卸载
- GPU对CNN计算的加速原理到底是怎样的?
- UrhoSharp Xamarin.Forms 开发入门
- spring boot 教程(五)使用JdbcTemplate访问数据库
- 【更难矩阵取数问题】51nod 1084 矩阵取数问题 V2
- SQL语法学习20170809
- DataTable中根据某一个字段来改变本行格式
- eclipse如何自动提示?
- 1992-函数指针
- dedecms调用二级栏目、子栏目的方法详解