| Monday, October 21 | |
| 9:30 - 10:30 | Registration |
| 10:30 - 11:00 | Opening |
| 11:00 - 12:30 | Overview of HPC Architectures |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 | Overview of Parallel Programming Models |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 | Perspectives of HPC Architectures |
| Tuesday, October 22 | |
| 10:00 - 11:00 | Introduction to OpenMP |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | OpenMP directives and API |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 | Checking OpenMP parallelization with debugging tools |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 | Introduction to GPU programming and CUDA |
| Wednesday, October 23 | |
| 10:00 - 11:00 | GPU programming using CUDA - Basics |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | GPU programming using CUDA - Basics |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 | Exercise: Vector-scalar-multiplication |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 |
CUDA Performance optimization I Excercise: Coalesced Accesses |
| Thursday, October 24 | |
| 10:00 - 11:00 | GPU programming using CUDA - Shared Memory |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | Exercise: Scalar Product |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 |
GPU programming using CUDA - Atomic Operations Exercise: Atomic Operations |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 |
CUDA performance optimization II Exercise: Small matrix-matrix multiplications |
| Friday, October 25 | |
| 10:00 - 11:00 | GPU programming using CUDA - Advanced Features |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | Exercise: Advanced Features |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 |
GPU programming using CUDA - CUDA Libraries Exercise: Conjugate Gradient with CUBLAS and CUSPARSE |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 | Intel Xeon Phi Overview |
| Monday, October 28 | |
| 10:00 - 11:00 | Introduction to Message Passing Interface |
| 11:00 - 11:30 | Opening |
| 11:30 - 12:30 | MPI point to point communications |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 | MPI derived datatypes |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 | MPI collective operations |
| Tuesday, October 29 | |
| 10:00 - 11:00 | MPI-2 and MPI-3 overview |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | MPI-2 parallel file I/O |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 | MPI-2 one-sided communications |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 | MPI on hybrid systems / MPI + OpenMP |
| Wednesday, October 30 | |
| 10:00 - 11:00 | Single Processor Performance Optimization |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | Single Processor Performance Optimization |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 | Memory Checking with Valgrind and GProf |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 | Memory Checking with Valgrind and GProf |
| Thursday, October 31 | |
| 10:00 - 11:00 | PGAS and GASPI Introduction |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | GASPI Segments and Group Model |
| 12:30 - 14:00 | Lunch |
| 14:00 - 15:30 | GASPI communication and notification |
| 15:30 - 16:00 | Coffee-break |
| 16:00 - 18:00 | Wrap-up and extended practical |
| Friday, November 1 | |
| 10:00 - 11:00 | Discussion |
| 11:00 - 11:30 | Coffee-break |
| 11:30 - 12:30 | Closing |