Detailed Agenda

Week 1, October, 21 – October, 25

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

Week 2, October, 28 – November, 1

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