由于材料、制造工艺、能耗和散热的限制,单纯依靠提升时钟频率来提高处理器的性能已经变得非常困难。在这种情况下,芯片厂商开始在单块芯片上集成更多的处理器核心,通过开发线程级和数据级并行来提高处理器性能,将处理器体系结构的发展推向了多核和众核时代。众核处理器以其更强的处理能力和更高的存储带宽受到了越来越多厂家和应用开发人员的青睐。主流芯片厂商相继推出了自己的众核架构处理器(如NVIDIA的Kepler、Maxwell、Pascal架构的GPU,AMD的Cy-press和GNC架构的GPU,以及Intel的MIC架构)。通过采用多核处理器和众核处理器构成异构计算系统,使用众核处理器实现对应用程序的加速成为提高程序性能的主要模式,异构计算已经成为当前和未来计算的主流。
现代图形处理器(Graphics Processing Unit,GPU)是采用面向吞吐量的统一架构单元设计的大规模并行处理器,具有较高的计算能力和存储带宽,更加适合当前大规模数据并行处理的需求。近年来,通用计算图形处理器(General-Purpose computing on Graphic Processing Units,GPGPU)利用GPU完成通用计算的研究逐步活跃起来。GPU在通用计算领域得到了越来越广泛的应用。在2016年全球超级计算机TOP500排行榜上,“神威·太湖之光”蝉联冠军,是世界上运行速度最快的超级计算机。在应用领域,GPGPU不仅在卫星数据处理、基因工程、海洋大气预报、分子动力学模拟等传统科学领域得到了越来越广泛的应用,而且在多媒体、图形图像处理、游戏等非传统领域也受到了越来越高的重视。(www.daowen.com)
GPGPU计算通常采用CPU+GPU异构模式:CPU负责执行复杂逻辑处理和事务管理,GPU负责计算密集型的大规模数据并行计算,其核心思想是利用GPU的强大处理能力和高带宽弥补CPU性能方面的不足。GPGPU编程的核心就是应用程序的GPU实现和优化,并呈现出了“实现容易,优化难”的特点。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。