Applications need to be effectively parallelised, using techniques such as MPI message-passing and OpenMP multithreading, to fully exploit the capabilities of modern systems for high-performance computing.The course introduces the open-source community-developed Score-P instrumentation and measurement infrastructure, and the Scalasca and Vampir tools using it, to provide a practical basis for portable performance analysis of parallel applications.
The course will be delivered as a series of presentations with associated hands-on practical exercises using the Anselm computer cluster. It starts with basic application instrumentation and measurement to generate execution profiles, then improves measurement quality via customization capabilities, and progresses to interactive and automated analyses of execution traces.
While analysis of provided example codes will be used to guide the class through the relevant steps and familiarise with usage of the tools, coaching will also be available to assist participants to analyse their own parallel application codes and may suggest opportunities for improving their execution performance and scalability.
Purpose of the course (benefits for the attendees)
The purpose of the course is that students have an overview of and experience with OpenMP, one of the most widely used parallel programming models.
The workshop is split in two days. Exercises will be given throughout the two days. The first day of the workshop contains an introduction to OpenMP, and will cover threads, synchronization, parallel loops, the master and worksharing constructs and locks, and the data environment.
The second day will cover tasks, the memory model, and threadprivate data. Students will program an actual application at the end of the workshop.