Determining Parallel Application Execution Efficiency and Scaling using the POP Methodology

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
In person

Venue Information

Country: Germany
Venue Details: Click here

Training Content and Scope

Scientific Domain
Technical Domain
Level of Instruction
Sector of the Target Audience
Research and Academia
Public Sector
HPC Profile of Target Audience
Application Developers
Language of Instruction

Other Information

Supporting Project(s)
Event/Course Description

HPC application developers encounter significant challenges getting their codes to run correctly on leadership computer systems consisting of large numbers of interconnected multi-socket multicore processor nodes often with attached accelerator devices. They also need effective tools and methods to track and assess their codes’ execution performance as they aim to get ready for production on current or prospective exascale computer systems. This tutorial presents the methodology developed and applied over several years within the EU/EuroHPC Centre of Excellence Performance Optimisation and Productivity (POP). Its focus is the hierarchy of execution efficiency and scaling metrics that identify the most critical issues and quantify potential benefits of remedies. The metrics can be readily compared and determined by a variety of tools for applications in any language employing standard MPI, OpenMP/OpenACC and other multi-threading and offload paradigms. Using their own notebook computers, and the browser-based Jupyter-JSC connection to an HPC computer system, tutorial participants will follow exercises using widely-deployed open-source tools and provided performance measurements of actual HPC application executions (ranging from CFD to neuroscience), preparing them to locate and diagnose efficiency and scalability issues in their own parallel application codes.