Introduction to High Performance Computing
from
Monday, 17 August 2015 (08:00)
to
Friday, 28 August 2015 (15:00)
Monday, 17 August 2015
08:30
Registration - room E3 at KTH Main campus
Registration - room E3 at KTH Main campus
08:30 - 09:15
09:15
Welcome to PDC and the Summer School - E3
-
Erwin Laure
(
PDC-HPC
)
Welcome to PDC and the Summer School - E3
Erwin Laure
(
PDC-HPC
)
09:15 - 10:15
Room: E3
10:15
Coffee Break
Coffee Break
10:15 - 10:30
10:30
High-Performance Computer Architecture - E3
-
Erik Hagersten
(
Uppsala University
)
High-Performance Computer Architecture - E3
Erik Hagersten
(
Uppsala University
)
10:30 - 12:15
12:15
Picnic - KTH garden close to E3 room
Picnic - KTH garden close to E3 room
12:15 - 14:00
14:00
High-Performance Computer Architecture
-
Erik Hagersten
(
Uppsala University
)
High-Performance Computer Architecture
Erik Hagersten
(
Uppsala University
)
14:00 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
High-Performance Computer Architecture
-
Erik Hagersten
(
Uppsala University
)
High-Performance Computer Architecture
Erik Hagersten
(
Uppsala University
)
15:15 - 17:00
Tuesday, 18 August 2015
09:15
Concepts and Algorithms for Scientific Computing
-
Michael Hanke
(
KTH
)
Concepts and Algorithms for Scientific Computing
Michael Hanke
(
KTH
)
09:15 - 10:00
In this talk we will present of what Scientific Computing is and what the challenges are. In particular, we will discuss the "simulation pipeline". The present and future of Scientific Computing is massively parallel. Consequences for modelling and examples for algorithm contruction for scalable computing are given.
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
Concepts and Algorithms for Scientific Computing
-
Michael Hanke
(
KTH
)
Concepts and Algorithms for Scientific Computing
Michael Hanke
(
KTH
)
10:15 - 12:15
12:15
Individual Lunch
Individual Lunch
12:15 - 13:30
13:30
Introduction to PDC's Environment
Introduction to PDC's Environment
13:30 - 14:30
14:30
Coffee Break
Coffee Break
14:30 - 14:45
14:45
Lab: Introduction to PDC's Environment
Lab: Introduction to PDC's Environment
14:45 - 16:45
PDC Machine Room Tour
PDC Machine Room Tour
14:45 - 16:45
Wednesday, 19 August 2015
09:15
Shared memory programming, OpenMP - E3 Room
-
Christoph Kessler
(
LiU
)
Shared memory programming, OpenMP - E3 Room
Christoph Kessler
(
LiU
)
09:15 - 10:00
Two common ways of speeding up programs are to use processes or threads executing in parallel. The second week of the Summer School presents process-based parallel computing using MPI. In this lecture parallelization using threads will be discussed. Threads can be managed in different ways, e.g. using a low level library, like the POSIX threads library. The lecture deals with OpenMP, which is a more convenient way to use threads. OpenMP is a specification for a set of compiler directives, library routines, and environment variables that can be used to specify shared memory parallelism in Fortran and C/C++ programs. The threaded program can be executed on a shared memory computer (e.g. a multi- core processor). Typically, the iterations of a time consuming loop are shared among a team of threads, each thread working on part of the iterations. The loop is parallelized by writing a directive in the code and a compiler or a pre- processor will generate parallel code. Using short code examples, the lecture covers the most important OpenMP-constructs, how to use them and how not to use them. A few more realistic examples are presented as well.
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
Shared memory programming, OpenMP - E3 room
-
Christoph Kessler
(
LiU
)
Shared memory programming, OpenMP - E3 room
Christoph Kessler
(
LiU
)
10:15 - 12:00
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:15
Shared memory programming, OpenMP - E2 room
-
Christoph Kessler
(
LiU
)
Shared memory programming, OpenMP - E2 room
Christoph Kessler
(
LiU
)
13:15 - 14:00
14:15
Lab: Programming Exercises on OpenMP
-
Stefano Markidis
(
PDC - KTH
)
Lab: Programming Exercises on OpenMP
Stefano Markidis
(
PDC - KTH
)
14:15 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
Lab: Programming Exercises on OpenMP
-
Stefano Markidis
(
PDC - KTH
)
Lab: Programming Exercises on OpenMP
Stefano Markidis
(
PDC - KTH
)
15:15 - 17:00
Thursday, 20 August 2015
09:15
Shared memory programming, OpenMP
-
Christoph Kessler
(
LiU
)
Shared memory programming, OpenMP
Christoph Kessler
(
LiU
)
09:15 - 10:00
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
Shared memory programming, OpenMP
-
Christoph Kessler
(
LiU
)
Shared memory programming, OpenMP
Christoph Kessler
(
LiU
)
10:15 - 12:00
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:15
Lab: OpenMP Advanced Project
-
Stefano Markidis
(
PDC - KTH
)
Lab: OpenMP Advanced Project
Stefano Markidis
(
PDC - KTH
)
13:15 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
Lab: OpenMP Advanced Project
-
Stefano Markidis
(
PDC - KTH
)
Lab: OpenMP Advanced Project
Stefano Markidis
(
PDC - KTH
)
15:15 - 17:00
Friday, 21 August 2015
09:15
GPU Architectures
-
Michael Schliephake
(
KTH
)
GPU Architectures
Michael Schliephake
(
KTH
)
09:15 - 10:00
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
Introduction to CUDA
-
Michael Schliephake
(
KTH
)
Introduction to CUDA
Michael Schliephake
(
KTH
)
10:15 - 12:00
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:15
Lab: CUDA
-
Michael Schliephake
(
KTH
)
Lab: CUDA
Michael Schliephake
(
KTH
)
13:15 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
Lab: CUDA
-
Michael Schliephake
(
KTH
)
Lab: CUDA
Michael Schliephake
(
KTH
)
15:15 - 17:00
Saturday, 22 August 2015
Sunday, 23 August 2015
Monday, 24 August 2015
09:15
Wrap up: GPU Programming
-
Michael Schliephake
(
KTH
)
Wrap up: GPU Programming
Michael Schliephake
(
KTH
)
09:15 - 10:00
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
MPI: Introduction, Basic Concepts, Point-to-Point Communication
-
Erwin Laure
(
PDC-HPC
)
MPI: Introduction, Basic Concepts, Point-to-Point Communication
Erwin Laure
(
PDC-HPC
)
10:15 - 12:00
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:15
MPI - Point-to-Point Communication
-
Erwin Laure
(
PDC-HPC
)
MPI - Point-to-Point Communication
Erwin Laure
(
PDC-HPC
)
13:15 - 14:00
14:00
Lab: MPI Part 1
Lab: MPI Part 1
14:00 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
Lab: MPI Part 1
Lab: MPI Part 1
15:15 - 17:00
Tuesday, 25 August 2015
09:15
MPI - Collective Communication
-
Erwin Laure
(
PDC-HPC
)
MPI - Collective Communication
Erwin Laure
(
PDC-HPC
)
09:15 - 10:00
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
MPI - Intermediate MPI
-
Erwin Laure
(
PDC-HPC
)
MPI - Intermediate MPI
Erwin Laure
(
PDC-HPC
)
10:15 - 12:00
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:15
Lab: MPI Part 2
Lab: MPI Part 2
13:15 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
Lab: MPI Part 2
Lab: MPI Part 2
15:15 - 17:00
Project Work
Project Work
15:15 - 17:00
Wednesday, 26 August 2015
09:15
Performance Engineering
-
Pekka Manninen
(
CSC
)
Performance Engineering
Pekka Manninen
(
CSC
)
09:15 - 10:00
In this set of lectures, we will first go through how to analyse your application's performance on an HPC platform and identify potential places for improvement. Then we will discuss some usual tips & tricks for improving parallel scalability of an MPI application, followed by some considerations for speeding up your code on x86 CPUs. At the end of the day we will do practicals on code optimization.
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
Performance Engineering
-
Pekka Manninen
Performance Engineering
Pekka Manninen
10:15 - 12:00
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:15
Lab: Performance Engineering
Lab: Performance Engineering
13:15 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
Lab: Performance Engineering
Lab: Performance Engineering
15:15 - 17:00
Thursday, 27 August 2015
08:30
Wrap up: Performance Engineering
-
Pekka Manninen
Wrap up: Performance Engineering
Pekka Manninen
08:30 - 09:00
09:15
MPI: Advanced Concepts
-
Erwin Laure
(
PDC-HPC
)
MPI: Advanced Concepts
Erwin Laure
(
PDC-HPC
)
09:15 - 10:00
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
MPI: Advanced Concepts
-
Erwin Laure
(
PDC-HPC
)
MPI: Advanced Concepts
Erwin Laure
(
PDC-HPC
)
10:15 - 11:00
11:15
Parallel Visualization
-
Tino Weinkauf
(
KTH
)
Parallel Visualization
Tino Weinkauf
(
KTH
)
11:15 - 12:00
We discuss the issues with parallelization of visualization and post-processing algorithms. Starting from a theoretical understanding of local and global features, we analyze different algorithms regarding their suitability for running in parallel.
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:15
Lab: MPI Part 3
Lab: MPI Part 3
13:15 - 15:00
15:00
Coffee Break
Coffee Break
15:00 - 15:15
15:15
Lab: MPI Part 3
Lab: MPI Part 3
15:15 - 17:00
Project Work
Project Work
15:15 - 17:00
18:00
Dinner (http://www.jakthornet.eu - Fiskartorpsvägen 20)
Dinner (http://www.jakthornet.eu - Fiskartorpsvägen 20)
18:00 - 21:00
Friday, 28 August 2015
09:15
Future Programming Languages
-
Stefano Markidis
(
PDC - KTH
)
Future Programming Languages
Stefano Markidis
(
PDC - KTH
)
09:15 - 10:00
10:00
Coffee Break
Coffee Break
10:00 - 10:15
10:15
Future Programming Languages
-
Stefano Markidis
(
PDC - KTH
)
Future Programming Languages
Stefano Markidis
(
PDC - KTH
)
10:15 - 11:00
11:15
The Big Data Challenge at Spotify
The Big Data Challenge at Spotify
11:15 - 12:00
12:00
Individual Lunch
Individual Lunch
12:00 - 13:00
13:00
Open Lab and Project Work
Open Lab and Project Work
13:00 - 17:00