图形处理单元的可编程和可扩展架构
1. 相关工作
早期的可编程 GPU 由用于顶点处理和片段处理的专用硬件、纹理映射单元和光栅化器等独立组件构成,采用多流配置以利用 3D 图形算法中的并行性。但随着现代应用对图形处理定制化要求的提高,这种异构架构不再是理想选择。
2007 年统一着色器模型出现后,顶点着色器和片段着色器的差异逐渐消失。新设备配备多个统一着色器,能执行相同算术运算并访问相同缓冲区,虽指令集仍有差异,但提高了图形管线的可编程性,关键部分的固定硬件确保了高性能。不过,计算资源间的流连接仍限制了处理算法的定制。主流 GPU 厂商如 NVIDIA 和 ATI 在其最新产品中采用了这种方法。
有研究通过实现通用 GPU 微架构并进行模拟,评估了统一着色器的性能。结果表明,与非统一着色器架构相比,图形性能提升有限,但在单位面积效率方面有显著优势。该研究使用 OpenGL ARB 类汇编低级语言实现着色器,而我们选择 GLSL 作为着色器程序输入语言,因为它已成为 OpenGL 标准的一部分,且当前 GPU 上的并行非图形计算趋势倾向于使用高级语言。
Intel 的 Larrabee 处理器提出了另一种实现 GPU 灵活性的方法。它并非基于传统 GPU 架构,而是推出了与 x86 兼容的设备,并添加浮点单元以增强算术性能。Larrabee 几乎没有特定硬件,仅纹理映射单元是个例外,其图形管线通过软件实现,便于修改和定制。它将以“多核”形式部署,核心数量达 64 个及以上,每个核心包含一个 512 位向量 FPU,可同时进行 16 次单精度浮点运算。
2. TTAGPU 架构
TTAGPU 设计旨在实现与 OpenGL
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



