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!