31 | GPU(下):为什么深度学习需要使用GPU?
徐文浩
该思维导图由 AI 生成,仅供参考
上一讲,我带你一起看了三维图形在计算机里的渲染过程。这个渲染过程,分成了顶点处理、图元处理、 栅格化、片段处理,以及最后的像素操作。这一连串的过程,也被称之为图形流水线或者渲染管线。
因为要实时计算渲染的像素特别地多,图形加速卡登上了历史的舞台。通过 3dFx 的 Voodoo 或者 NVidia 的 TNT 这样的图形加速卡,CPU 就不需要再去处理一个个像素点的图元处理、栅格化和片段处理这些操作。而 3D 游戏也是从这个时代发展起来的。
你可以看这张图,这是“古墓丽影”游戏的多边形建模的变化。这个变化,则是从 1996 年到 2016 年,这 20 年来显卡的进步带来的。
Shader 的诞生和可编程图形处理器
不知道你有没有发现,在 Voodoo 和 TNT 显卡的渲染管线里面,没有“顶点处理“这个步骤。在当时,把多边形的顶点进行线性变化,转化到我们的屏幕的坐标系的工作还是由 CPU 完成的。所以,CPU 的性能越好,能够支持的多边形也就越多,对应的多边形建模的效果自然也就越像真人。而 3D 游戏的多边形性能也受限于我们 CPU 的性能。无论你的显卡有多快,如果 CPU 不行,3D 画面一样还是不行。
所以,1999 年 NVidia 推出的 GeForce 256 显卡,就把顶点处理的计算能力,也从 CPU 里挪到了显卡里。不过,这对于想要做好 3D 游戏的程序员们还不够,即使到了 GeForce 256。整个图形渲染过程都是在硬件里面固定的管线来完成的。程序员们在加速卡上能做的事情呢,只有改配置来实现不同的图形渲染效果。如果通过改配置做不到,我们就没有什么办法了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
深度学习为何需要使用GPU 现代GPU在图形渲染和深度学习方面具有出色的性能,得益于其芯片瘦身、多核并行和SIMT等核心创意。GPU的并行计算能力使其能够快速处理大规模数据,满足深度学习对于大量计算的需求。其统一着色器架构使其成为通用的抽象计算模块,从而可以应用于各种通用计算,包括深度学习。现代GPU的计算能力远超CPU,使用GPU进行深度学习能够将训练时间缩短一个,乃至两个数量级。GPU的快速发展也带来了过去10年深度学习的繁荣,使其成为一个用来做数值计算的好工具。因此,深度学习能够充分利用GPU的性能优势,实现快速高效的计算,推动了深度学习技术的发展。 总结延伸 GPU一开始是没有“可编程”能力的,随着“可编程管线”的出现,程序员们可以在顶点处理和片段处理去实现自己的算法。微软在XBox 360里面引入了“统一着色器架构”,使得GPU变成了一个有“通用计算”能力的架构。GPU通过芯片瘦身、SIMT以及更多的执行上下文,具备了更擅长并行进行暴力运算的特性。GPU的多核、多ALU,加上多Context,使得它的并行能力极强。这些特性使得GPU非常适合进行深度学习的计算模式,也就是海量计算,容易并行,并且没有太多的控制分支逻辑。使用GPU进行深度学习,往往能够将深度学习算法的训练时间缩短一个,乃至两个数量级。 推荐阅读 关于现代GPU的工作原理,你可以仔细阅读一下 haifux.org 上的相关文章,里面图文并茂地解释了现代GPU的架构设计的思路。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出计算机组成原理》,新⼈⾸单¥68
《深入浅出计算机组成原理》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(18)
- 最新
- 精选
- 程序员花卷CPU:在电脑里面起着控制运算的作用,是电脑的中央处理器 GPU: 主要是处理计算机中图形的有关计算,是一个附属形的处理器 只有CPU和GPU配合,才能充分的发挥计算机的性能! 学到了31讲,个人觉得,其实真的记不住什么东西,也不可能记得住,但是对某些知识的理解更加深刻了,不要放弃,先统一的学完一遍,对有的知识点有个映象,学习是一辈子的事情,后面再一遍一遍的把它当做读物来学习,一点点的弄!不慌! 专科大二,朝着自己的目标继续努力!2019-12-21667
- 笑若海由此看出,CPU适合做逻辑复杂、小量数据、IO密集这三类运算。 只要数据量大,即使逻辑复杂,还是值得研究可编程的专门硬件来提高效率,正如GPU的出现。 IO密集型的场景,由于内存、网卡、硬盘与CPU之间的速率差异,更适合借助中断机制用异步方式实现,提高总体的吞吐率。并借助高速缓存和超线程,进一步提升吞吐率,Web服务就是这种场景。2019-08-0914
- 许童童算了一下,大概是 16 * 5G = 0.8TFLOPS2019-07-0519
- 活的潇洒1、以前只知道深度学习、大数据需要GPU但是底层的原理并不知道? 2、也不知道GPU的硬件组成和CPU有什么不同? 听完来时的讲解一下感觉都明白了 day31天笔记: https://www.cnblogs.com/luoahong/p/11417549.html2019-09-0218
- 清秋(翟浩)这份讲义都是2011年的了,近8年的GPU发展如何呢,这八年没有任何变化么?2019-07-052
- A君原来着色器,ALU和cuda core其实是同一个东西。那个ppt很给力,谢谢2020-07-081
- GeekNeo(SM * Cuda Core + TMU)* 主频(Boost) * 指令数(每个时钟周期)2023-02-15归属地:浙江
- jorin@zoucpu和GPU是怎么协同工作的,就是两者的pipeline过程。2022-06-19
- GEEK_jahen这章真好,通俗地讲出了GPU硬件发展以及为什么适合深度学习应用。对体系结构只有一些概念性理解的软件工程师,也能很好地接收Get到。2022-02-28
- 种花家(2944 + 184)× 1700 MHz × 2 = 10.06 TFLOPS 为什么乘以2呢?2021-08-291
收起评论