| 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 | 
 
             
		
		
		