GPGPU性能模型研究*
2013-06-08杜云飞
计算机工程与科学 2013年12期
王 锋,杜云飞,陈 娟
(国防科学技术大学计算机学院,湖南 长沙 410073)
1 引言
随着GPU 性能和可编程性的不断提高,GPU越来越多地被应用于通用计算,具备这类特点的GPU 被称为通用GPU,即GPGPU(General Purpose GPU)。使用GPGPU 加速的系统越来越多,这种CPU 和GPGPU 相互配合的异构系统在高性能计算领域已经受到越来越多的关注[1]。我国在大规模异构系统体系结构方面取得了重大突破,2010年11月份超级计算机TOP500排名,我国有两台异构系统的计算机排名前五,其中天河-1 更是排名世界第一[2]。并且异构系统在能耗比(FLOPS/W)上也远远优于同构系统,例如天河-1的能耗比是同时期同构系统美洲虎(排名第二)的2.5倍,是构建下一代Exascale级超级计算机系统最有前景的技术之一。
但是,异构系统上用户程序的应用开发和执行效率一直是制约其发展的瓶颈。GPU 的性能发挥与许多要素密切相关,包括程序本身的特性以及GPU 的特性。其中程序的特性包括并行性、访存局部性以及占用的寄存器资源等,GPU 本身的特性包括与CPU 的通讯带宽、访存带宽、访存延迟、支持的线程数量等。如此众多的因素造成程序优化时搜索空间巨大,单靠经验无法确定最佳优化方案,需要对GPU 性能进行建模,在此基础上辅助编程人员或者自动完成优化策略的选择。除了更好地发挥GPU 的性能外,CPU 和GPU 之间的任务划分也是整个系统发挥性能的关键。在CPU和GPU 协同工作的过程中,为了发挥各自的性能,必须考虑负载平衡问题,根据两者不同的性能分配不同的任务。因此,也需要对GPU 的性能进行建模。……
登录APP查看全文
