郑 祯 翟季冬 李 焱 陈文光
(清华大学计算机科学与技术系 北京 100084)(z-zheng14@mails.tsinghua.edu.cn)
基于CUPTI接口的典型GPU程序负载特征分析
郑祯翟季冬李焱陈文光
(清华大学计算机科学与技术系北京100084)(z-zheng14@mails.tsinghua.edu.cn)
摘要基于图形处理器(graphics processing unit, GPU)加速设备的高性能计算机已经成为目前高性能计算领域的一个重要发展趋势.然而,在当前的GPU设备上开发高效的并行程序仍然是一件非常复杂的事情.针对这一问题,1)总结了影响GPU程序性能的5类关键性能指标;2)采用NVIDIA公司提供的CUPTI底层接口,设计并实现了一套GPU程序性能分析工具集,该工具集可以有效地分析GPU程序的性能行为;3)采用该工具集对著名的GPU评测程序集Rodinia中的17个程序和一个真实应用程序进行了负载特征分析.总结出常见性能瓶颈的典型原因,并给出一些开发高效GPU程序的建议.
关键词图形处理器;负载特征分析;Rodinia;硬件计数器;性能指标
近年来,基于加速设备的超级计算机已经成为高性能计算领域一个重要发展趋势.在2014年6月最新发布的超级计算机TOP500排名中,有48个计算机系统使用了GPU加速器.其中,在前15位的超级计算机中有5个计算机使用了GPU加速器.目前,NVIDIA公司的GPU是最主流的GPU加速器,在上述TOP500中有48个使用GPU加速器的超级计算机中,有46个使用的是NVIDIA架构的GPU,其余2个使用了AMD的GPU.
尽管基于加速设备的超级计算机变得越来越流行,但是,在这些系统上编写高效率的并行程序仍然是一件非常复杂的事情.我们以NVIDIA的GPU设备为例,NVIDIA公司推出的通用编程框架CUDA(compute unified device architecture)是目……