CUDA程序开发——初识GPU
通过阅读文本你将了解到:
- GPU的发展历史
- GPU的产品类型
- 并行计算中GPU的应用形式
- 如何分析应用场景是否适合使用GPU
- GPU的开发平台
1. GPU发展历史
GPU一开始只是为了图形加速,替CPU分担工作。其主要用于显示图像、视频的编解码与显示、游戏渲染等工作,起初并不支持编程。在1999年之前还没有GPU这一概念,只是称为图形加速卡,1999年8月,Nvidia公司推出了GeForce 256图形芯片,并提出了GPU概念。
随着GPU技术的发展,从2003年开始,Nvidia和ATI推出了可编程的GPU硬件设备,使开发人员根据需求灵活的控制图形渲染过程。同时,一些充满探索的程序员,开始借助于Direct3D和OpenGL将一些并行计算映射成图像渲染的过程,从而实现利用GPU加速程序的目的,这种开发方法被称为通用GPU编程(GPGPU)。但该方法开发难度大,开发人员需要懂得图像渲染知识和OpenGL编程知识。
2007年,Nvidia公司推出硬件设备GTX8800和GPU编程工具CUDA(Compute Unified Device Architecture,统一计算架构),自此开发人员可以利用类C语言进行并行程序开发,大大减低了GPU的开发难度。
2008年,OpenCL(Open Computing Language,开发计算语言)被推出,它是一套异构平台并行编程的标准,同CUDA一样也是一种并行编程的框架。利用该标准可以开发出跨平台的并行程序