图像的实时渲染过程
- 顶点处理(
Vertex Processing
) - 图元处理(
Primitive Processing
) - 栅格化(
Rasterization
) - 片段处理(
Fragment Processing
) - 像素操作(
Pixel Operations
)
统一着色器架构(Unified Shader Architecture)
- 把顶点处理(
Vertex Processing
)、图元处理(Primitive Processing
)、片段处理(Fragment Processing
)这些任务,都交给这些Shader
或叫Cuda Core
处理
现代GPU的优化手段
- 芯片瘦身 GPU 的整个处理过程是一个流式处理(
Stream Processing
)的过程,不像CPU 那么复杂,可以去除高速缓存、分支预测等复杂电路,只保留取指令
,指令译码
,ALU
,执行上下文
。
多核并行 和 CPU 不同的是,我们不需要单独去实现什么多线程的计算。因为 GPU 的运算是天然并行的。所以,简单地添加多核的 GPU,就能做到并行加速。不过光这样加速还是不够,工程师们觉得,性能还有进一步被压榨的空间。 GPU 就借鉴了 CPU 里面的 SIMD,用了一种叫作
SIMT
(Single Instruction,Multiple Threads
)的技术。SIMT 呢,比 SIMD 更加灵活。在 SIMD 里面,CPU 一次性取出了固定长度的多个数据,放到寄存器里面,用一个指令去执行。而 SIMT,可以把多条数据,交给不同的线程去处理。超线程(
Hyper-Threading
)技术 借鉴CPU, 实现了在流水线停顿(stall
)期间可以去改为执行别的程序的指令,充分发挥GPU的算力
by 斯武丶风晴 https://my.oschina.net/langxSpirit