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提供顶点编程和像素编程能力

最新文章

  1. add-two-numbers
  2. Android NestedScrolling与分发机制
  3. 【P1351】构建双塔
  4. bat隐藏文件夹
  5. C++中 类的构造函数理解(一)
  6. ubuntu中磁盘挂载与卸载
  7. IDE模式下安装Windows 7强行改回ACHI后不断重启的解决方法
  8. UVa 808 (建坐标系、找规律) Bee Breeding
  9. Power Calculus 快速幂计算 (IDA*/打表)
  10. 使用Express创建一个简单的示例
  11. Byte、KB、MB、GB、TB、PB、EB是啥以及它们之间的进率
  12. string用法总结
  13. WebApiClient的接口输入验证
  14. 前端(各种demo)二:左侧导航栏的折叠和打开(不使用js)基础版和升级版
  15. English Voice of <<Way Back Into Love>>
  16. mysql年初至今聚合
  17. Fiddler抓包1-抓firefox上https请求
  18. 用ASPOSE.Cells将HTML表格存为Excel
  19. noip第23课资料
  20. java 迭代

热门文章

  1. PHP造PDO对象和事务功能
  2. Sublime Text 3 中文乱码的解决方法
  3. nginx 页面乱码问题
  4. javaIO系统----再看装饰者模式
  5. schema约束和引入
  6. 作业七:团队项目——Alpha版本冲刺阶段002
  7. 使用strace 工具跟踪系统调用和信号
  8. iOS 指定圆角个数
  9. php session的操作
  10. HTML <label> 标签