深入浅出计算机组成原理
徐文浩
bothub 创始人
70432 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 62 讲
深入浅出计算机组成原理
15
15
1.0x
00:00/00:00
登录|注册

31 | GPU(下):为什么深度学习需要使用GPU?

计算9900K CPU的FLOPS
haifux.org上的现代GPU架构设计解释
GPU在科学计算和机器学习中的应用
GPU的适用性拓展
GPU的并行能力
GPU在深度学习中的应用
GPU与CPU的性能对比
GPU里的“超线程”
多核并行和SIMT
芯片瘦身
GPU的架构优化
统一着色器架构的出现
可编程管线的引入
图形加速卡的历史
GPU的适用性和效率
GPU的通用计算能力
GPU的并行计算能力
GPU在深度学习中的性能优势
课后思考
推荐阅读
总结延伸
GPU在深度学习中的性能差异
GPU的核心创意
GPU的发展历程
深度学习与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
立即购买
登录 后留言

全部留言(18)

  • 最新
  • 精选
  • 程序员花卷
    CPU:在电脑里面起着控制运算的作用,是电脑的中央处理器 GPU: 主要是处理计算机中图形的有关计算,是一个附属形的处理器 只有CPU和GPU配合,才能充分的发挥计算机的性能! 学到了31讲,个人觉得,其实真的记不住什么东西,也不可能记得住,但是对某些知识的理解更加深刻了,不要放弃,先统一的学完一遍,对有的知识点有个映象,学习是一辈子的事情,后面再一遍一遍的把它当做读物来学习,一点点的弄!不慌! 专科大二,朝着自己的目标继续努力!
    2019-12-21
    6
    67
  • 笑若海
    由此看出,CPU适合做逻辑复杂、小量数据、IO密集这三类运算。 只要数据量大,即使逻辑复杂,还是值得研究可编程的专门硬件来提高效率,正如GPU的出现。 IO密集型的场景,由于内存、网卡、硬盘与CPU之间的速率差异,更适合借助中断机制用异步方式实现,提高总体的吞吐率。并借助高速缓存和超线程,进一步提升吞吐率,Web服务就是这种场景。
    2019-08-09
    14
  • 许童童
    算了一下,大概是 16 * 5G = 0.8TFLOPS
    2019-07-05
    1
    9
  • 活的潇洒
    1、以前只知道深度学习、大数据需要GPU但是底层的原理并不知道? 2、也不知道GPU的硬件组成和CPU有什么不同? 听完来时的讲解一下感觉都明白了 day31天笔记: https://www.cnblogs.com/luoahong/p/11417549.html
    2019-09-02
    1
    8
  • 清秋(翟浩)
    这份讲义都是2011年的了,近8年的GPU发展如何呢,这八年没有任何变化么?
    2019-07-05
    2
  • A君
    原来着色器,ALU和cuda core其实是同一个东西。那个ppt很给力,谢谢
    2020-07-08
    1
  • GeekNeo
    (SM * Cuda Core + TMU)* 主频(Boost) * 指令数(每个时钟周期)
    2023-02-15归属地:浙江
  • jorin@zou
    cpu和GPU是怎么协同工作的,就是两者的pipeline过程。
    2022-06-19
  • GEEK_jahen
    这章真好,通俗地讲出了GPU硬件发展以及为什么适合深度学习应用。对体系结构只有一些概念性理解的软件工程师,也能很好地接收Get到。
    2022-02-28
  • 种花家
    (2944 + 184)× 1700 MHz × 2 = 10.06 TFLOPS 为什么乘以2呢?
    2021-08-29
    1
收起评论
显示
设置
留言
18
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部