Options
Tool-supported mini-app extraction to facilitate program analysis and parallelization
Publikationstyp
Conference Paper
Publikationsdatum
2021-08-09
Sprache
English
Author
First published in
Start Page
1
End Page
10
Citation
ACM International Conference Proceeding Series: 1-10 (2021-08-09)
Contribution to Conference
Publisher DOI
Scopus ID
Publisher
Association for Computing Machinery
The size and complexity of high-performance computing applications present a serious challenge to manual reasoning about program behavior. The vastness and diversity of code bases often break automatic analysis tools, which could otherwise be used. As a consequence, developers resort to mini-apps, i.e., trimmed-down proxies of the original programs that retain key performance characteristics. Unfortunately, their construction is difficult and time consuming and prevents their mass production. In this paper, we propose a systematic and tool-supported approach to extract mini-apps from large-scale applications that reduces the manual effort needed to create them. Our approach covers the stages kernel identification, data capture, code extraction and representativeness validation. We demonstrate it using an astrophysics simulation with ≈ 8.5 million lines of code and extract a mini-app with only ≈ 1, 100 lines of code. For the mini-app, we evaluate the reduction of code complexity and execution similarity, and show how it enables the tool-supported discovery of unexploited parallelization opportunities, reducing the simulation's runtime significantly.
DDC Class
004: Informatik