TREX Workshop: Code Tuning for the Exascale - Programme


05 June 2023, Day 1 Time in CEST
9:00 - 09:15 Welcome to the Workshop "Code Tuning for the Exascale
09:15 - 09:30 Advanced parallel programming - Introduction - Lecture
(Hardware and programming models, hardware bottlenecks)
09:30 - 10:00 Programming Models - pure MPI vs. MPI + OpenMP - Lecture
(General considerations, how to compile, link, and run)
10:00 - 10:15 Hands-on: Hello hybrid!
(Get to know a new system, how to compile and start)
10:15 - 10:30 Coffee break
10:30 - 11:30 Programming Models - MPI + OpenMP - Lecture
(System topology, ccNUMA, and memory bandwidth, topology and affinity on multicore CPUs)
11:30 - 12:30 Lunch Break
12:30 - 12:45 Hands-on: Pinning
(Explore how to pin on multicore CPUs)
12:45 - 13:30 Hands-on: MPI+OpenMP-hybrid Jacobi solver
(Hybrid through OpenMP parallelization)
13:30 - 13:45 Coffee break
13:45 - 14:15 Overlapping Communication and Computation - Lecture
(MPI nonblocking vs. threading/tasking for overlapping, OpenMP tasklook directive, MPI partitioned communication)
14:15 - 15:15 Hands-on: Taskloop-based hybrid Jacobi
(Continue Jacobi exercise and/or extend with taskloop)
15:15 - 15:30 Coffee break
15:30 - 16:15 MPI + Accelerator (OpenMP offloading) - Lecture
(OpenMP offloading basics and combination with MPI)
16:15 - 16:45 Hands-on: Jacobi smoother with OpenMP offloading
(Continue Jacobi exercise and/or add OpenMP offloading)
06 June 2023, Day 2 Time in CEST
9:00 - 10:15 Performance analysis - Lecture
(Performance analysis techniques and output - sampling, instrumentation, profiling, and tracing; tools; analysis; POP CoE and its methodology)
10:15 - 10:30 Coffee break
10:30 - 11:30 Performance analysis - Hands-on PART 1
(Perfomance analysis of a small app with Extrae and Paraver)
11:30 - 12:30 Lunch break
12:30 - 13:30 Performance analysis - Hands-on PART 2
(Perfomance analysis of a small app with Extrae and Paraver)"
13:30 - 13:45 Coffee break
13:45 - 15:15 Energy efficiency - Lecture
(Energy efficiency features of modern HPC hardware and energy consumption measurement)
15:15 - 15:30 Coffee break
15:30 - 16:45 Energy efficiency - Hands-on
(Energy efficiency analysis of an example application using MERIC runtime system)
07 June 2023, Day 3 Time in CEST
08:00 - 08:45 Main principles of Performance Analysis & Optimisation - Lecture
08:45 - 09:30 Presentation of MAQAO - Lecture
09:30 - 09:45 Coffee Break
09:45 - 10:45 Hands-ons: Using MAQAO ONE View to profile an application
10:45 - 11:15 Extended capabilities of MAQAO - Lecture
11:15 - 12:15 Lunch break
12:15 - 13:15 Hands-ons: Using MAQAO to optimise an application
13:15 - 13:30 Coffee break
13:30 - 14:15 Hands-ons: Using MAQAO to optimise an application
14:15 - 15:30 Hands-ons: Using MAQAO to optimise participants applications or sample applications
05 June 2023, Day 1 Time in CEST
9:00 - 09:15 Welcome to the Workshop "Code Tuning for the Exascale
09:15 - 09:30 Advanced parallel programming - Introduction - Lecture
(Hardware and programming models, hardware bottlenecks)
09:30 - 10:00 Programming Models - pure MPI vs. MPI + OpenMP - Lecture
(General considerations, how to compile, link, and run)
10:00 - 10:15 Hands-on: Hello hybrid!
(Get to know a new system, how to compile and start)
10:15 - 10:30 Coffee break
10:30 - 11:30 Programming Models - MPI + OpenMP - Lecture
(System topology, ccNUMA, and memory bandwidth, topology and affinity on multicore CPUs)
11:30 - 12:30 Lunch Break
12:30 - 12:45 Hands-on: Pinning
(Explore how to pin on multicore CPUs)
12:45 - 13:30 Hands-on: MPI+OpenMP-hybrid Jacobi solver
(Hybrid through OpenMP parallelization)
13:30 - 13:45 Coffee break
13:45 - 14:15 Overlapping Communication and Computation - Lecture
(MPI nonblocking vs. threading/tasking for overlapping, OpenMP tasklook directive, MPI partitioned communication)
14:15 - 15:15 Hands-on: Taskloop-based hybrid Jacobi
(Continue Jacobi exercise and/or extend with taskloop)
15:15 - 15:30 Coffee break
15:30 - 16:15 MPI + Accelerator (OpenMP offloading) - Lecture
(OpenMP offloading basics and combination with MPI)
16:15 - 16:45 Hands-on: Jacobi smoother with OpenMP offloading
(Continue Jacobi exercise and/or add OpenMP offloading)
06 June 2023, Day 2 Time in CEST
9:00 - 10:15 Performance analysis - Lecture
(Performance analysis techniques and output - sampling, instrumentation, profiling, and tracing; tools; analysis; POP CoE and its methodology)
10:15 - 10:30 Coffee break
10:30 - 11:30 Performance analysis - Hands-on PART 1
(Perfomance analysis of a small app with Extrae and Paraver)
11:30 - 12:30 Lunch break
12:30 - 13:30 Performance analysis - Hands-on PART 2
(Perfomance analysis of a small app with Extrae and Paraver)"
13:30 - 13:45 Coffee break
13:45 - 15:15 Energy efficiency - Lecture
(Energy efficiency features of modern HPC hardware and energy consumption measurement)
15:15 - 15:30 Coffee break
15:30 - 16:45 Energy efficiency - Hands-on
(Energy efficiency analysis of an example application using MERIC runtime system)
07 June 2023, Day 3 Time in CEST
08:00 - 08:45 Main principles of Performance Analysis & Optimisation - Lecture
08:45 - 09:30 Presentation of MAQAO - Lecture
09:30 - 09:45 Coffee Break
09:45 - 10:45 Hands-ons: Using MAQAO ONE View to profile an application
10:45 - 11:15 Extended capabilities of MAQAO - Lecture
11:15 - 12:15 Lunch break
12:15 - 13:15 Hands-ons: Using MAQAO to optimise an application
13:15 - 13:30 Coffee break
13:30 - 14:15 Hands-ons: Using MAQAO to optimise an application
14:15 - 15:30 Hands-ons: Using MAQAO to optimise participants applications or sample applications