Performance Analysis and Benchmarking for pySDC

Robert Speck, Jeulich Supercomputing Center

The parallel full approximation scheme in space and time (PFASST) allows to integrate multiple time-steps simultaneously. Based on iterative spectral deferred correction (SDC) methods, PFASST uses a space-time hierarchy with various coarsening strategies to maximize parallel efficiency. In numerous studies, this approach has been used on up to 448K cores and coupled to space-parallel solvers which use finite differences, spectral methods or even particles for discretization in space. However, since the integration of SDC or PFASST into an existing application code is not straightforward and the potential gain is typically uncertain, we have developed the Python prototyping framework pySDC. While it allows to rapidly test new ideas and to implement first toy problems more easily, it can also be used to run space-time parallel tests and applications using mpi4py. In this talk, we examine pySDC’s performance on an HPC cluster and demonstrate the application of the “Scalable Performance Measurement Infrastructure for Parallel Codes” (Score-P) for analyzing the performance of our code. We highlight Python-, MPI- and PinT-specific aspects of our results and show the benefits of a structured benchmarking workflow.