A

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

  1. FernUniversität in Hagen

    Affiliation as printed

    University of Hagen,Computer Engineering,Hagen,Germany

  2. FernUniversität in Hagen

    Affiliation as printed

    University of Hagen,Computer Engineering,Hagen,Germany

  3. RWTH Aachen University

    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

11 results