博客
关于我
【实时渲染】[RTR4 Chapter3]图形处理单元The Graphics Processing Unit
阅读量:329 次
发布时间:2019-03-04

本文共 1442 字,大约阅读时间需要 4 分钟。

GPU与计算机图形学基础知识

(1)单指令单数据(SISD)与单指令多数据(SIMD)的区别

单指令单数据(SISD)与单指令多数据(SIMD)的主要区别在于数据访问方式。SISD的CPU在执行加法指令时,会依次访问内存,分别获取两个操作数后再进行求和运算。而SIMD型的CPU能够同时访问多个数据,通过多个执行单元一次性处理所有运算任务。

(2)GPU中的warp与thread

在GPU中,thread是用于执行着色器程序的基本单元。与CPU的thread不同,GPU的thread包含内存空间,用于存储输入数据和执行所需的寄存器。多个thread如果执行相同的着色器程序,就被称为warp(NVIDIA术语)。例如,常见的warp大小为32个thread。

(3)warp读取内存时执行的操作

当warp需要从内存读取数据时,所有thread会暂停执行,等待读取完成。这种情况下,系统会切换到其他warp继续执行,因为不同warp之间没有数据交互,切换不会消耗时间。

(4)SIMD执行效率的影响因素

着色器程序的结构对效率有直接影响。寄存器数量有限,过多的thread需求会减少warp数量,导致GPU在拥塞时无法切换warp。动态分支(thread divergence)也会影响性能,因为不同thread可能执行不同的指令。

(5)渲染管线的可编程程度

渲染管线中的可编程部分包括顶点着色器、细分、几何着色器和片元着色器。细分和几何着色器在某些GPU中不可选,例如移动设备。不可编程的部分包括裁剪和光栅化。

(6)stream output阶段的作用

stream output用于将顶点数据以有序数组形式输出到stream中,供CPU或GPU使用。该阶段支持物理模拟,但输出的数据仅为浮点型,需要注意内存消耗。

(7)避免数据race condition的方法

GPU通过原子单元来避免数据竞争问题,但原子操作可能导致warp拥塞。需要确保多个着色器程序不同时修改同一内存区域。

(8)early-z算法的作用

early-z算法在片元着色器执行前进行深度测试,避免无效计算。这样可以节省资源,提高性能。

(9)SIMD执行效率的影响因素

着色器程序的结构和动态分支对SIMD执行效率有重要影响。过多的thread需求会减少warp数量,增加GPU等待时间。

(10)渲染管线的GPU实现

渲染管线按顺序包括顶点着色器、细分、几何着色器、裁剪、屏幕映射、光栅化、三角形准备与遍历、片元着色器和合并。可编程部分为顶点着色器、细分、几何着色器和片元着色器。

(11)着色器虚拟机的工作原理

着色器虚拟机(HLSL)被编译为中间语言(IL),驱动将IL转换为GPU特定指令集。虚拟机支持不同的寄存器类型,包括uniform输入、varying输入和临时寄存器。

(12)Tessellation Stage的三个部分

Tessellation Stage包括控制器、生成器和评估器。控制器和生成器处理输入数据,生成器输出顶点,评估器验证域的完整性。

(13)MRT的作用

MRT允许片元着色器输出到多个缓冲区,每个缓冲区称为render target。这种机制有助于处理多层渲染和特定效果,如阴影和渐变。

(14)GPU内存访问的特点

GPU的内存访问是并行的,warp中的所有thread会暂停等待数据。这种设计使得GPU在处理复杂计算时效率很高,但也带来了一定的控制挑战。

转载地址:http://jfuh.baihongyu.com/

你可能感兴趣的文章
springMVC学习(二)
查看>>
Pdfkit页眉和页脚
查看>>
PDF中的Pandoc语法突出显示不起作用
查看>>
pdf从结构新建书签_在PDF文件中怎样创建书签
查看>>
pdf做成翻页电子书_第一弹:常见BOOX电子书阅读器问题解答,这些技能你都会吗?...
查看>>
PDF工具箱-分割提取合并
查看>>
pdf打印骑缝章
查看>>
PDF文字识/编辑?这个工具真的很强大!
查看>>
pdf文档出现乱码如何修改
查看>>
pdf根据模板导出
查看>>
PDF调出本来存在的书签面板
查看>>
pdf转图片
查看>>
pdf转图片、提取pdf文本、提取pdf图片
查看>>
springMvc 3.0 使用基本原理
查看>>
springCloud整合RabbitMQ实现消息中间件
查看>>
pdo sqlserver
查看>>
SpringCloud实战(十一)-更优的分布式配置解决方案(Apollo)
查看>>
PDO中捕获SQL语句中的错误
查看>>
SCP和SFTP相同点和区别
查看>>
SpringCloudAlibaba中使用Sentinel实现熔断降级之熔断策略详解
查看>>