zl程序教程

您现在的位置是:首页 >  其它

当前栏目

并行计算及GPU简介

简介 GPU 并行计算
2023-09-11 14:15:33 时间

       并行计算(Parallel Computing)指同时使用多种计算资源解决计算问题的过程,它的基本思想是将待求解问题分解成多个子问题,在相同的时间用不同的处理器计算各个子问题,从而有效地节约计算的时间。早期的并行计算只能由专门设计的大型并行计算机或是多个计算机构成的集群完成。但拥有众多处理器的大型并行计算机往往制造成本昂贵、使用功耗巨大,因此在一般的研究过程中实用性不强。利用图形处理器,也就是我们常说的GPU进行并行计算正在成为发展趋势。

        同名字一样,GPU起初的设计目的是辅助CPU完成图像渲染等计算机图形学功能。由于图像渲染等相关问题具有高度并行的特点,因此GPU与CPU的硬件设计理念是不同的。CPU将更多的资源(晶体管)用到控制(Control)及缓存(Cache)部分,而GPU则将更多的资源用于计算单元(ALU),如图3-1所示。

       GPU与CPU硬件架构上的区别导致了它们在计算中的优势不同:CPU拥有更加完备的逻辑与缓存单元,因此更加适用于计算不规则的数据结构、不可预测的存取模式与单线程程序;而GPU拥有更多的并行计算单元,因此更加擅长处理规则数据结构、可预测存取模式与多线程的程序。

       随着硬件及相关软件体系的不断完善,GPU的应用已不再局限于计算机图形处理,基于GPU的通用并行计算研究引发了广泛的关注。在图像处理、视频播放、信号处理、金融分析、石油勘探及天文计算等领域中,基于GPU的并行计算正逐渐成为人们提高运算效率的一个重要手段。但早期将GPU用于计算的方法十分复杂, OpenGL与DirectX等图形接口是研究人员与GPU交互的唯一方式,这就要求研究人员拥有极为丰富的图形接口编程知识,这一点极大地限制了基于GPU的并行计算的发展。