码迷,mamicode.com
首页 > 其他好文 > 详细

浅谈GPU

时间:2016-05-02 15:32:38      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

Programmable Graphics Processing Unit(GPU),可编程图形处理单元,可编程图形硬件。

98年NVIDIA的modern GPU研发成功,使用晶体管(transistors)进行计算。

自03年起,可编程图形硬件正式诞生,GPU编程也宣告诞生。

 

目前最新的可编程图形硬件已经具备了如下功能:
1. 支持 vertex programmability 和 fragment programmability;
2. 支持 IEEE32 位浮点运算;
3. 支持 4 元向量, 4 阶矩阵计算;
4. 提供分支指令,支持循环控制语句;
5. 具有高带宽的内存传输能力( >27.1GB/s);
6. 支持 1D、 2D、 3D 纹理像素查询和使用,且速度极快;
7. 支持绘制到纹理功能( Render to Texture, RTT)。

 

由于 GPU 具有高并行结构( highly parallel structure),所以GPU 在处理图形数据复杂算法方面拥有比 CPU 更高的效率。

所谓“并行计算”是指“多个数据可以同时被使用,多个数据并行运算的时间和1个数据单独执行的时间是一样的”。

虽然 GPU 采用数据并行处理方式极大加快了运算速度,但正是由于“任意一个元素的计算不依赖于其它同类型数据”,导致“需要知道数据之间相关性的”算法,在 GPU 上难以得到实现(但在 CPU 上则可以方便的实现),一个典型的例子是射线与不规则物体的求交运算。

此外, GPU 在控制流方面弱于CPU,在图中可以看到, GPU 中的控制器少于 CPU,而控制器的主要功能是取指令,并指出下一条指令在内存中的位置, 控制和协调计算机的各个部件有条不紊地工作。 

 

——摘自《GPU 编程与CG 语言之阳春白雪下里巴人》

 

总结:

- 由于GPU的高并行性,对像素的处理无需像C++等高级语言一样进行遍历操作

- GPU不仅在处理图形数据方面效率更高,在处理“不依赖其他同类型数据”的复杂算法方面也有更高的表现

- GPU提供顶点编程和像素编程能力

浅谈GPU

标签:

原文地址:http://www.cnblogs.com/xuanll/p/5452289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!