A Machine Learning Framework for Performance Coverage Analysis of Proxy Applications
SessionPerformance Tools
Session ChairLauren L. Smith
Authors
Event Type
Paper
Effective Application of HPC
Intermediate
Performance
Location355-E
DescriptionProxy applications are written to represent subsets of performance behaviors of larger, more complex, and often restricted access applications. They enable easy evaluation of these behaviors across systems, e.g., for procurement or co-design purposes. However, the intended correlation between the performance behaviors of proxy applications and their parent codes is often based solely on the developer's intuition.
In this paper, we present novel machine-learning techniques to methodically quantify the coverage of performance behaviors of parent codes by their proxy applications. We have developed a framework, Veritas, to answer these questions in the context of on-node performance: a) which hardware resources are covered by proxy applications and how well, and b) which resources are important, but not covered. We present our techniques in the context of two benchmarks, STREAM and DGEMM, and two production applications, OpenMC and CMTnek, and their respective proxy applications.
In this paper, we present novel machine-learning techniques to methodically quantify the coverage of performance behaviors of parent codes by their proxy applications. We have developed a framework, Veritas, to answer these questions in the context of on-node performance: a) which hardware resources are covered by proxy applications and how well, and b) which resources are important, but not covered. We present our techniques in the context of two benchmarks, STREAM and DGEMM, and two production applications, OpenMC and CMTnek, and their respective proxy applications.













