Multi-Level Analysis of Compiler-Induced Variability and Performance Tradeoffs

Multi-Level Analysis of Compiler-Induced Variability and Performance Tradeoffs
复制标题

编译器引起的可变性和性能权衡的多级分析

DOI:
10.1145/3307681.3325960
复制
发表时间:
2019
期刊:
HPDC '19 Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing
影响因子:
--
通讯作者:
Jones, Holger E.
Jones, Holger E.
中科院分区:
--
文献类型:
--
作者:
Bentley, Michael;Briggs, Ian;Gopalakrishnan, Ganesh;Ahn, Dong H.;Laguna, Ignacio;Lee, Gregory L.;Jones, Holger E.

文献摘要

参考文献

被引文献

相似文献

成功的 HPC 软件应用程序具有长久的生命力。当跨机器及其编译器移植时,这些应用程序通常会产生不同的数值结果,其中许多结果是不可接受的。在更积极地优化代码以获得性能时,这种可变性也是一个问题。迫切需要有效的工具来帮助定位发生大多数变化的程序单元(文件和函数),既可以规划代码端口,也可以在现场发生变化时找出根本原因。在这项工作中,我们提供了开源测试框架 FLiT 的增强版本来服务这些角色。 FLiT 的主要新功能包括一套二分算法,有助于找到变异性的根本原因。另一个附加功能允许分析性能和可变性程度之间的权衡。我们的新贡献还包括一系列案例研究。 MFEM 有限元库的结果包括可变性/性能权衡,以及即使在温和的编译器优化下也能识别(迄今为止未知的)异常水平的结果可变性。研究 Laghos 代理应用程序的结果包括在短短 14 个程序执行中识别出显着不同的浮点结果变异性,并成功找到问题函数的根本原因。最后,在对 LULESH 代理应用程序上 4,376 次受控浮点扰动注入的评估中,我们表明 FLiT 框架在发现注入的文件和函数位置方面具有 100% 的精确度和召回率,平均只需 15 次程序执行。
Successful HPC software applications are long-lived. When ported across machines and their compilers, these applications often produce different numerical results, many of which are unacceptable. Such variability is also a concern while optimizing the code more aggressively to gain performance. Efficient tools that help locate the program units (files and functions) within which most of the variability occurs are badly needed, both to plan for code ports and to root-cause errors due to variability when they happen in the field. In this work, we offer an enhanced version of the open-source testing framework FLiT to serve these roles. Key new features of FLiT include a suite of bisection algorithms that help locate the root causes of variability. Another added feature allows an analysis of the tradeoffs between performance and the degree of variability. Our new contributions also include a collection of case studies. Results on the MFEM finite-element library include variability/performance tradeoffs, and the identification of a (hitherto unknown) abnormal level of result-variability even under mild compiler optimizations. Results from studying the Laghos proxy application include identifying a significantly divergent floating-point result-variability and successful root-causing down to the problematic function over as little as 14 program executions. Finally, in an evaluation of 4,376 controlled injections of floating-point perturbations on the LULESH proxy application, we showed that the FLiT framework has 100% precision and recall in discovering the file and function locations of the injections all within an average of only 15 program executions.
RAJA 可移植层:概述和现状
DOI: 10.2172/1169830
发表时间: 2014
影响因子: 3.1
作者:
R. Hornung;J. Keasler
通讯作者: J. Keasler
数据驱动测试
DOI: --
发表时间: 2008
期刊:
影响因子: --
作者:
P. Baker;Z. Dai;J. Grabowski;Øystein Haugen;I. Schieferdecker;Clay E. Williams
通讯作者: Clay E. Williams
KGEN:用于自动 Fortran 内核生成和验证的 Python 工具
DOI: --
发表时间: 2016
期刊: International Conference on Conceptual Structures
影响因子: --
作者:
Youngsung Kim;J. Dennis;Christopher Kerr;R. Kumar;Amogh Simha;A. Baker;S. Mickelson
通讯作者: S. Mickelson
GCC 中的反馈导向优化,通过硬件事件采样估计边缘轮廓
DOI: --
发表时间: 2008
期刊:
影响因子: --
作者:
Vinodha Ramasamy;Paul Yuan;Dehao Chen;R. Hundt
通讯作者: R. Hundt
关于 MPI 约简操作的再现性
DOI: 10.1109/hpcc.and.euc.2013.65
发表时间: 2013
期刊: 2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing
影响因子: --
作者:
P. Balaji;D. Kimpe
通讯作者: D. Kimpe