{"title":"Message from the ProTools 2022 Workshop Chairs","authors":"","doi":"10.1109/protools56701.2022.00004","DOIUrl":"https://doi.org/10.1109/protools56701.2022.00004","url":null,"abstract":"","PeriodicalId":193850,"journal":{"name":"2022 IEEE/ACM Workshop on Programming and Performance Visualization Tools (ProTools)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129713111","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
K. Huck, Xingfu Wu, Anshu Dubey, Antigoni Georgiadou, J. A. Harris, T. Klosterman, Matthew Trappett, K. Weide
{"title":"Performance Debugging and Tuning of Flash-X with Data Analysis Tools","authors":"K. Huck, Xingfu Wu, Anshu Dubey, Antigoni Georgiadou, J. A. Harris, T. Klosterman, Matthew Trappett, K. Weide","doi":"10.1109/ProTools56701.2022.00009","DOIUrl":"https://doi.org/10.1109/ProTools56701.2022.00009","url":null,"abstract":"State-of-the-art multiphysics simulations running on large scale leadership computing platforms have many variables contributing to their performance and scaling behavior. We recently encountered an interesting performance anomaly in Flash-X, a multiphysics multicomponent simulation software, when characterizing its performance behavior on several large-scale HPC platforms. The anomaly was tracked down to the interaction between the use of dynamic allocation of scratch data and data locality in the cache hierarchy. In this paper we present the details of unexpected performance variability of Flash-X, its extensive analysis using the performance measurement tool TAU to collect the data and Python data analysis libraries to explore the data, and our insights from this experience. In this process, we discovered and removed or mitigated two additional performance limiting bottlenecks for performance tuning.","PeriodicalId":193850,"journal":{"name":"2022 IEEE/ACM Workshop on Programming and Performance Visualization Tools (ProTools)","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126925025","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Generating and Analyzing Program Call Graphs using Ontology","authors":"Ethan Dorta, Yonghong Yan, C. Liao","doi":"10.1109/ProTools56701.2022.00008","DOIUrl":"https://doi.org/10.1109/ProTools56701.2022.00008","url":null,"abstract":"Call graph or caller-callee relationships have been used for various kinds of static program analysis, performance analysis and profiling, and for program safety or security analysis such as detecting anomalies of program execution or code injection attacks. However, different tools generate call graphs in different formats, which prevents efficient reuse of call graph results. In this paper, we present an approach of using ontology and resource description framework (RDF) to create knowledge graphs for specifying call graphs to facilitate the construction of full-fledged and complex call graphs of computer programs, realizing more interoperable and scalable program analyses than conventional approaches. We create a formal ontology-based specification of call graph information to capture concepts and properties of both static and dynamic call graphs so different tools can collaboratively contribute to more comprehensive analysis results. Our experiments show that ontology enables merging of call graphs generated from different tools and flexible queries using a standard query interface.","PeriodicalId":193850,"journal":{"name":"2022 IEEE/ACM Workshop on Programming and Performance Visualization Tools (ProTools)","volume":"196 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123221847","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
R. Tschüter, I. Huismann, Bert Wesarg, Maximilian Knespel
{"title":"Performance Analysis of the CFD Solver CODA - Harnessing Synergies between Application and Performance Tools Developers","authors":"R. Tschüter, I. Huismann, Bert Wesarg, Maximilian Knespel","doi":"10.1109/ProTools56701.2022.00010","DOIUrl":"https://doi.org/10.1109/ProTools56701.2022.00010","url":null,"abstract":"Accurate prediction of fluid flows remains an important field of research and engineering. To this end, computational fluid dynamics (CFD) is widely employed. Due to their high demands on computational resources CFD applications benefit from HPC systems. Continuous performance analysis and optimization is key to efficient utilization of HPC resources. This paper demonstrates the beneficial cooperation between developers of HPC software and performance tools in the context of the CFD solver CODA and the sparse linear system solver Spliss. We investigate concepts used by CODA/Spliss to achieve high scalability and evaluate their effectiveness with performance analysis tools. This example illustrates profits obtained from a close collaboration between HPC application and tool developers. On the one hand, tools support application developers in analyzing and tuning their applications. On the other hand, feedback and requests of application developers inspire tools enhancements. In this work we highlight these aspects with an extended support of non-blocking collectives in performance tools and emphasize the need for sophisticated tool support of multi-threaded MPI applications.","PeriodicalId":193850,"journal":{"name":"2022 IEEE/ACM Workshop on Programming and Performance Visualization Tools (ProTools)","volume":"111 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116454869","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
M. Ritter, Ahmad Tarraf, Alexander Geiß, Nour Daoud, B. Mohr, F. Wolf
{"title":"Conquering Noise With Hardware Counters on HPC Systems","authors":"M. Ritter, Ahmad Tarraf, Alexander Geiß, Nour Daoud, B. Mohr, F. Wolf","doi":"10.1109/ProTools56701.2022.00007","DOIUrl":"https://doi.org/10.1109/ProTools56701.2022.00007","url":null,"abstract":"With increasing system performance and complexity, it is becoming increasingly crucial to examine the scaling behavior of an application and thus determine performance bottlenecks at early stages. Unfortunately, modeling this trend is a challenging task in the presence of noise, as the measurements can become irreproducible and misleading, thus resulting in strong deviations from the actual behavior. While noise impacts the application runtime, it has little to no effect on some hardware counters like floating-point operations. However, selecting the appropriate counters for performance modeling demands some investigation. In this paper, we perform a noise analysis on various hardware counters. Using our noise generator, we add additional noise on top of the system noise to inspect the counters' variability. We perform the analysis on five systems with three applications in the presence of various noise patterns and categorize the counters across the systems according to their noise resilience.","PeriodicalId":193850,"journal":{"name":"2022 IEEE/ACM Workshop on Programming and Performance Visualization Tools (ProTools)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130733680","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}