Integrating Interactive Performance Analysis in Jupyter Notebooks for Parallel Programming Education
IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 369–376
Abstract
Understanding the performance behavior of parallel applications is important in many ways, but doing so is not easy. Most open source analysis tools are written for the com mand line. We are building on these proven tools to provide an interactive performance analysis experience within Jupyter Notebooks when developing parallel code with MPI, OpenMP, or both. Our solution makes it possible to measure the execution time, perform profiling and tracing, and visualize the results within the notebooks. For ease of use, it provides both a graphical JupyterLab extension and a C++ Api. The JupyterLab extension shows a dialog where the user can select the type of analysis and its parameters. Internally, this tool uses Score-P,Scalasca, and Cube to generate profiling and tracing data. This tight integration gives students easy access to profiling tools and helps them better understand concepts such as benchmarking, scalability and performance bottlenecks. In addition to the technical development, the article presents hands-on exercises from our well-established parallel programming course. We conclude with a qualitative and quantitative evaluation with 19 students, which shows a positive effect of the tools on the students' perceived competence.
Authors 3
-
Affiliation as printed
University of Hagen,Computer Engineering,Hagen,Germany
-
Affiliation as printed
University of Hagen,Computer Engineering,Hagen,Germany
-
Affiliation as printed
RWTH Aachen University,Human-Computer Interaction Center,Aachen,Germany
Cited by 5 stored of 5
5 results
No patents citing this paper on Lens.org (checked 2026-10-06).
References 11
-
W6755743238details pending0citations
11 results