《Real-Time Rendering 4th Edition》全文翻译 - 第3章 图形处理单元(GPU)(上)3.1 ~ 3.3

本文介绍了GPU的发展历程,从数据并行架构到高度可编程的着色器阶段。GPU通过专注于高度并行化的任务,如处理大量三角形和像素,实现了卓越的处理速度。文章讨论了GPU如何通过延迟隐藏技术,如warp交换,来优化性能。此外,还概述了GPU的可编程着色器阶段,强调了着色器核心的并行执行和线程发散对性能的影响。
摘要由CSDN通过智能技术生成

反正也没什么人看,下一期就等明年再翻译吧!另外也说不准,心情不好的话这应该就是最后一篇了……

实时渲染(第四版)Real-Time Rendering (Fourth Edition)

第3章 图形处理单元(GPU) Chapter 3 The Graphics Processing Unit

“The display is the computer.”

—Jen-Hsun Huang
 
 

“显示器就是计算机。”

——黄仁勋

(注:黄仁勋,美籍华人,NVIDIA公司创始人兼首席执行官。此句大意是指图形显示对于用户的直观与重要性。

从历史上看,图形加速始于在与三角形重叠的每条像素扫描线上插入颜色,然后显示这些值。其中包括访问图像数据的功能,可以将纹理应用于表面。其中还添加了用于内插(interpolating)和测试z深度的硬件,提供了内置的可见性检查。由于它们的频繁使用,因此将此类过程用于专用硬件以提高性能。连续几代硬件中添加了渲染管线的更多部分,以及每个部分的更多功能。专用图形硬件相对于CPU的唯一计算优势是速度,但速度至关重要。

在过去的二十年中,图形硬件经历了不可思议的转变。1999年,第一款包含硬件顶点处理的消费者图形芯片(NVIDIA的GeForce 256)问世。NVIDIA创造了图形处理单元(GPU,Graphics Processing Unit)一词,以将GeForce 256与以前可用的仅光栅化芯片区分开来,并且它一直坚持下去。在接下来的几年中,GPU从复杂的固定功能管道的可配置实现发展到高度可编程的空白状态,开发人员可以在其中实现自己的算法。各种可编程着色器是控制GPU的主要方法。为了提高效率,管线的某些部分仍然是可配置的,而不是可编程的,但是趋势是朝着可编程性和灵活性的方向发展[175]

GPU通过专注于一组高度可并行化的任务而获得了卓越的速度。他们拥有专门的定制芯片,可以专用于实现z缓冲区、快速访问纹理图像和其他缓冲区、查找例如三角形覆盖的像素。这些部件如何执行其功能将在第23章中介绍。更重要的是要早点知道GPU如何实现其可编程着色器的并行性。

3.3节介绍了着色器的功能。目前,您需要知道的是着色器核心是一个小型处理器,可以执行一些相对隔离的任务,例如将顶点从其在世界坐标转换为屏幕坐标,或者计算被三角形覆盖的像素的颜色 。每帧有成千上万个三角形发送到屏幕,每秒可能有数十亿次着色器调用(shader invocations),即运行着色器程序的单独实例。

首先,延迟(latency)是所有处理器都面临的问题。访问数据需要花费一些时间。考虑延迟长短的一种基本方法是,信息所处位置离处理器越远,等待时间就越长。第23.3节详细介绍了延迟。存储在存储芯片中的信息将比本地寄存器中的信息花费更长的时间。18.4.1节将更深入地讨论内存访问。关键是等待数据检索意味着处理器停滞了,这降低了性能。


引用:

[175] Blythe, David, “The Direct3D 10 System,” ACM Transactions on Graphics, vol. 25, no. 3, pp. 724–734, July 2006. Cited on p. 29, 39, 42, 47, 48, 50, 249

 

3.1 数据并行架构 Data-Parallel Architectures

不同的处理器体系结构使用各种策略来避免停顿。对CPU进行了优化,以处理各种数据结构和大型代码库。CPU可以具有多个处理器,但是每个CPU都以串行方式运行代码,有限的SIMD向量处理是次要的例外。为了最大程度地减少延迟的影响,CPU的许多芯片都由快速本地缓存组成,这些缓存中填充了下一步可能需要的数据。CPU还通过使用诸如分支预测(branch prediction),指令重新排序(instruction reordering),寄存器重命名(register renaming)和缓存预取(cache prefetching )之类的巧妙技术来避免停顿。[715]

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值