Case Study and Performance Metrics
This section provies various tips and tricks for MPI programming along with a case study and discusses performance analysis that can be used to assess the scalability and efficiency of your applications.
Learning Objectives
After completing this section the student will have:
discussed various issues wrt correctness, portability, maintainability and performance of MPI programs
familiarity with analysing the performance of their applications
gained additional experience using a larger case study
Tips and Tricks
This subsection covers various aspects of MPI programming that will help write correct, portable, maintainable and efficient programs (slides).
Image Processing Case Study
The following video describes the image processing case study (slides).
Case study materials:
It is recommended to first attempt to write your own serial and parallel solutions and then compare to the solutions provided. Note that Fortran supports dynamic array allocation as a language feature.
Performance Metrics
Performance and scalability are important to assess because a code that scales poorly won’t be using larger machines efficiently.
This subsection covers performance metrics (Speedup, Efficiency), strong and weak scaling, and also discusses Amdahl’s Law and Gustafson’s Law and how to visualise performance results (slides).
Congratulations!
You have completed this MPI programming course!
Please take a moment to complete the post-course questionnaire and provide us some feedback to help improve this course. Note that the feedback form is designed to be anonymous, although you can leave your contact details if you wish. We use the same form for all training courses, so some questions (e.g. regarding the venue) may not be relevant. Thank you!