GPU 通用计算(GPGPU)——将图形tú xí ng处理器用于高性能计算领域 1.1 研究背景和意义 随着当前计算机性能的不断提高,应用范围越来越广泛,不同的计算任务和计算需求都在快速增长,这就决定了处理器朝着通用化和专用化两个方向飞速发展。一方面,以CPU 为代表的通用处理器是现代计算机的核心部件,经过多次器件换代的变迁,不仅集成度大大提高,性能和功能也大为改善,除了负责解释、执行指令和完成各种算术逻辑运算外,还控制并协调计算机各部分的执行。另一方面,处理器在特定领域应用的专用化程度也越来越高,例如在视频、图像和音频处理等领域,都出现了相应的专用处理器(如 VPU、GPU、APU 等)。在针对特定应用方面与通用处理器相比,专用处理器能够更加高效的满足特定的计算任务和需求。 近年来,计算机图形处理器(GPU,Graphics Processing Unit)正在以大大超过摩尔定律的速度高速发展,极大的提高了计算机图形处理的速度和质量,不但促进了图像处理、虚拟现实、计算机仿真等相关应用领域的快速发展,同时也为人们利用GPU 进行图形处理以外的通用计算提供了良好的运行平台[1]。 GPU 应用领域的拓宽与其硬件发展有着极大关系。GPU 自 1999 年首先由 NVIDIA 公司提出后,就其发展的速度而言,是CPU 更新速度的三倍。从 1993 年开始,GPU 的性能以每年 2.8 倍的速度增长。目前,图形处理器已经经历了五代发展,平均每半年就有新一代的GPU 问世。 GPGPU GPGPU GPGPU GPGPU 2004 年,NVIDIA GeForce 6800 Ultra 处理器峰值速度可达 40GFLOPS,对比 Intel Pentium 4 3.0GHz,采用SSE2 指令集也只能达到 6 GFLOPS[3]。NVIDIA 最新发布的GeForce 8800 图形处理器集成了6.8 亿个晶体管,拥有 128 个流处理单元,其峰值运算能力超过340GFLOPS,而 Intel 最新的Pentium4 Core 2 Extreme X6800 只有 46.88GFLOPS。 图 1 GPU 与 CPU 的发展与性能比较 图形处理器技术的迅速发展带来的并不只是速度的提高,还产生了很多全新的图形硬件技术,使 GPU 具有流处理、高密集并行运算、可编程流水线等特性,从而极大的拓展了GPU 的处理能力和应用范围[2]。 正是由于GPU 具有高效的并行性和灵活的可编程性等特点,越来越多的研究人员和商业组织开始利用GPU 完成一些非图形绘制方面的计算,并开创了一个新的研究领域:基于GPU 的通用计算(GPGPU,General-Purpose computation...