当前位置: X-MOL 学术arXiv.cs.PF › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
GPA: A GPU Performance Advisor Based on Instruction Sampling
arXiv - CS - Performance Pub Date : 2020-09-09 , DOI: arxiv-2009.04061
Keren Zhou, Xiaozhu Meng, Ryuichi Sai, John Mellor-Crummey

Developing efficient GPU kernels can be difficult because of the complexity of GPU architectures and programming models. Existing performance tools only provide coarse-grained suggestions at the kernel level, if any. In this paper, we describe GPA, a performance advisor for NVIDIA GPUs that suggests potential code optimization opportunities at a hierarchy of levels, including individual lines, loops, and functions. To relieve users of the burden of interpreting performance counters and analyzing bottlenecks, GPA uses data flow analysis to approximately attribute measured instruction stalls to their root causes and uses information about a program's structure and the GPU to match inefficiency patterns with suggestions for optimization. To quantify each suggestion's potential benefits, we developed PC sampling-based performance models to estimate its speedup. Our experiments with benchmarks and applications show that GPA provides an insightful report to guide performance optimization. Using GPA, we obtained speedups on a Volta V100 GPU ranging from 1.03$\times$ to 3.86$\times$, with a geometric mean of 1.22$\times$.

中文翻译:

GPA:基于指令采样的 GPU 性能顾问

由于 GPU 架构和编程模型的复杂性,开发高效的 GPU 内核可能很困难。现有的性能工具仅提供内核级别的粗粒度建议(如果有)。在本文中,我们描述了 GPA,它是 NVIDIA GPU 的性能顾问,它在层次结构(包括单个行、循环和函数)上建议潜在的代码优化机会。为了减轻用户解释性能计数器和分析瓶颈的负担,GPA 使用数据流分析将测量到的指令停顿大致归因于其根本原因,并使用有关程序结构和 GPU 的信息将低效模式与优化建议相匹配。为了量化每个建议的潜在好处,我们开发了基于 PC 采样的性能模型来估计其加速比。我们对基准测试和应用程序的实验表明,GPA 提供了有见地的报告来指导性能优化。使用 GPA,我们在 Volta V100 GPU 上获得了从 1.03$\times$ 到 3.86$\times$ 的加速,几何平均值为 1.22$\times$。
更新日期:2020-09-10
down
wechat
bug