Introduction to High-Performance Computing
from
Monday 15 August 2011 (08:00)
to
Friday 26 August 2011 (18:00)
Monday 15 August 2011
08:15
Registration
Registration
08:15 - 09:00
Room: E3
Registration starts on Monday August 15 at 08.15 in front of lecture room <a href="http://www.infra.kth.se/GIS/projects/classroomSearch/i ndex.php?id=E3">E3</a>
09:15
Welcome to PDC and the Summer School
-
Jesper Oppelstrup
(
KTH/CSC
)
Erwin Laure
(
PDC-HPC
)
Michael Hanke
(
KTH
)
Welcome to PDC and the Summer School
Jesper Oppelstrup
(
KTH/CSC
)
Erwin Laure
(
PDC-HPC
)
Michael Hanke
(
KTH
)
09:15 - 10:00
Room: E3
10:00
Break
Break
10:00 - 10:15
Room: E3
10:15
Concepts and Algorithms for Scientific Computing
-
Björn Engquist
(
KTH and the University of Austin
)
Concepts and Algorithms for Scientific Computing
Björn Engquist
(
KTH and the University of Austin
)
10:15 - 12:00
Room: E3
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Introduction to PDC's Environment
-
Elisabet Molin
(
PDC
)
Introduction to PDC's Environment
Elisabet Molin
(
PDC
)
13:15 - 14:00
Room: E3
14:15
High-Performance Computer Architecture
-
Erik Hagersten
(
Uppsala University
)
High-Performance Computer Architecture
Erik Hagersten
(
Uppsala University
)
14:15 - 15:00
Room: E3
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
High-Performance Computer Architecture
-
Erik Hagersten
(
Uppsala University
)
High-Performance Computer Architecture
Erik Hagersten
(
Uppsala University
)
15:15 - 17:00
Room: E3
17:30
Get-together Picnic
Get-together Picnic
17:30 - 19:00
Room: Ljusgården
Tuesday 16 August 2011
09:15
High-Performance Computer Architecture
-
Erik Hagersten
(
Uppsala University
)
High-Performance Computer Architecture
Erik Hagersten
(
Uppsala University
)
09:15 - 10:00
Room: E3
10:00
Break
Break
10:00 - 10:15
Room: E3
10:15
High-Performance Computer Architecture
-
Erik Hagersten
(
Uppsala University
)
High-Performance Computer Architecture
Erik Hagersten
(
Uppsala University
)
10:15 - 12:00
Room: E3
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Current State of Computing
-
Sverker Holmgren
(
Uppsala University and SNIC
)
Current State of Computing
Sverker Holmgren
(
Uppsala University and SNIC
)
13:15 - 14:00
Room: E3
In this presentation, an overview of the computing landscape in Sweden and internationally will be given. Also, two concrete examples of scientific computing problems in different disciplines will be described and the impact of models, numerical methods, implementation and computer architecture will be discussed.
14:15
Lab: Introduction to PDC's Environment
-
Elisabet Molin
(
PDC
)
Lab: Introduction to PDC's Environment
Elisabet Molin
(
PDC
)
14:15 - 15:00
Room: Orange and Red
Machine Room Tour
Machine Room Tour
14:15 - 17:00
Room: PDC Machine Room
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Lab: Introduction to PDC's Environment
-
Elisabet Molin
(
PDC
)
Lab: Introduction to PDC's Environment
Elisabet Molin
(
PDC
)
15:15 - 17:00
Room: Orange and Red
Wednesday 17 August 2011
09:15
Shared memory programming, OpenMP
-
Thomas Ericsson
(
Chalmers
)
Shared memory programming, OpenMP
Thomas Ericsson
(
Chalmers
)
09:15 - 10:00
Room: E3
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
Break
Break
10:00 - 10:15
Room: E3
10:15
Shared memory programming, OpenMP
-
Thomas Ericsson
(
Chalmers
)
Shared memory programming, OpenMP
Thomas Ericsson
(
Chalmers
)
10:15 - 12:00
Room: E3
See preceding description.
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Shared memory programming, OpenMP
-
Thomas Ericsson
(
Chalmers
)
Shared memory programming, OpenMP
Thomas Ericsson
(
Chalmers
)
13:15 - 14:00
Room: E3
See preceding description.
14:15
Lab: Programming Exercises on OpenMP
-
Niclas Jansson
(
KTH/CSC
)
Lab: Programming Exercises on OpenMP
Niclas Jansson
(
KTH/CSC
)
14:15 - 15:00
Room: Orange and Red
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Lab: Programming Exercises on OpenMP
-
Niclas Jansson
(
KTH/CSC
)
Lab: Programming Exercises on OpenMP
Niclas Jansson
(
KTH/CSC
)
15:15 - 17:00
Room: Orange and Red
Thursday 18 August 2011
09:15
Code optimization
-
Thomas Ericsson
(
Chalmers
)
Code optimization
Thomas Ericsson
(
Chalmers
)
09:15 - 10:00
Room: E3
In this lecture techniques for speeding up code on a uniprocessor are presented. The lecture covers basic optimization principles such as using the memory hierarchy in an efficient way. Using short code examples, the lecture covers stride minimization, blocking, loop- fusion, loop-splitting and other approaches. The choice of programming language (Fortran or C), and compiler will be discussed. There are some hints of how to tune Matlab programs. Other topics are vector arithmetic for floating point and elementary functions, virtual memory, files and the LAPACK and BLAS libraries.
10:00
Break
Break
10:00 - 10:15
Room: E3
10:15
Code optimization
-
Thomas Ericsson
(
Chalmers
)
Code optimization
Thomas Ericsson
(
Chalmers
)
10:15 - 12:00
Room: E3
See preceding description.
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Lab: OpenMP Advanced Project
-
Niclas Jansson
(
KTH/CSC
)
Lab: OpenMP Advanced Project
Niclas Jansson
(
KTH/CSC
)
13:15 - 15:00
Room: Orange and Red
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Lab: OpenMP Advanced Project
-
Niclas Jansson
(
KTH/CSC
)
Lab: OpenMP Advanced Project
Niclas Jansson
(
KTH/CSC
)
15:15 - 17:00
Room: Orange and Red
Friday 19 August 2011
08:30
Wrap up: OpenMP Advanced Project
-
Niclas Jansson
(
KTH/CSC
)
Wrap up: OpenMP Advanced Project
Niclas Jansson
(
KTH/CSC
)
08:30 - 09:00
Room: E3
09:15
GPU Architectures for Non-Graphics People
-
David Black-Schaffer
(
Uppsala University
)
GPU Architectures for Non-Graphics People
David Black-Schaffer
(
Uppsala University
)
09:15 - 10:00
Room: E3
Today everyone is positioning GPUs for general purpose computing. They claim that you can get 10-100x speedups over conventional CPUs, and sometimes they're even right. However, to get the most out of current- (and next-) generation GPUs, one needs to understand the architectural differences and how they effect your choice of algorithm. In this talk I will cover GPU architecture in comparison to current CPUs, discuss the implications for getting good performance, and introduce OpenCL as a general-purpose programming language for accessing GPUs and CPUs today.
10:00
Break
Break
10:00 - 10:15
Room: E3
10:15
Introduction to OpenCL
-
David Black-Schaffer
(
Uppsala University
)
Introduction to OpenCL
David Black-Schaffer
(
Uppsala University
)
10:15 - 12:00
Room: E3
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Lab: OpenCL
-
David Black-Schaffer
(
Uppsala University
)
Lab: OpenCL
David Black-Schaffer
(
Uppsala University
)
13:15 - 15:30
Room: Orange and Red
15:30
Break
Break
15:30 - 15:45
Room: E3
15:45
Open Lab: OpenCL
Open Lab: OpenCL
15:45 - 17:00
Room: Orange and Red
17:15
Project Work: Requirements and Expectations
-
Jesper Oppelstrup
(
KTH/CSC
)
Project Work: Requirements and Expectations
Jesper Oppelstrup
(
KTH/CSC
)
17:15 - 17:45
Room: E3
17:45
Project Work: An example of a Summer School project
-
Marwa Abdul-Monem Al-Shandawely
(
KTH/CSC
)
Project Work: An example of a Summer School project
Marwa Abdul-Monem Al-Shandawely
(
KTH/CSC
)
17:45 - 18:15
Room: E3
This is an example of a Summer School project from a previous year.
Saturday 20 August 2011
Sunday 21 August 2011
Monday 22 August 2011
09:15
MPI Introduction
-
Erwin Laure
(
PDC-HPC
)
MPI Introduction
Erwin Laure
(
PDC-HPC
)
09:15 - 10:00
Room: E3
10:00
Break
Break
10:00 - 10:15
Room: E3
10:15
MPI Basic Concepts & Point-to-Point Communication
-
Erwin Laure
(
PDC-HPC
)
MPI Basic Concepts & Point-to-Point Communication
Erwin Laure
(
PDC-HPC
)
10:15 - 12:00
Room: E3
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Performance Engineering
-
Dag Lindbo
(
KTH/CSC
)
Performance Engineering
Dag Lindbo
(
KTH/CSC
)
13:15 - 14:00
Room: E3
14:15
Lab: Performance Engineering
-
Dag Lindbo
(
KTH/CSC
)
Lab: Performance Engineering
Dag Lindbo
(
KTH/CSC
)
14:15 - 15:00
Room: Orange and Red
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Lab: Performance Engineering
-
Dag Lindbo
(
KTH/CSC
)
Lab: Performance Engineering
Dag Lindbo
(
KTH/CSC
)
15:15 - 17:00
Room: Orange and Red
Tuesday 23 August 2011
08:30
Wrap up: Performance Engineering
-
Dag Lindbo
(
KTH/CSC
)
Wrap up: Performance Engineering
Dag Lindbo
(
KTH/CSC
)
08:30 - 09:00
Room: E3
09:15
MPI - Collective Communication
-
Erwin Laure
(
PDC-HPC
)
MPI - Collective Communication
Erwin Laure
(
PDC-HPC
)
09:15 - 10:00
Room: E3
10:00
Break
Break
10:00 - 10:15
Room: E3
10:15
MPI - Intermediate MPI
-
Erwin Laure
(
PDC-HPC
)
MPI - Intermediate MPI
Erwin Laure
(
PDC-HPC
)
10:15 - 11:00
Room: E3
11:15
Parallel Performance Tools
-
Elisabet Molin
(
PDC
)
Parallel Performance Tools
Elisabet Molin
(
PDC
)
11:15 - 12:00
Room: E2
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Lab: MPI Part 1
-
Jonathan Vincent
(
PDC
)
Lab: MPI Part 1
Jonathan Vincent
(
PDC
)
13:15 - 15:00
Room: Orange and Red
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Lab: MPI Part 1
-
Jonathan Vincent
(
PDC
)
Lab: MPI Part 1
Jonathan Vincent
(
PDC
)
15:15 - 17:00
Room: Orange and Red
Project Work
-
Jesper Oppelstrup
(
KTH/CSC
)
Project Work
Jesper Oppelstrup
(
KTH/CSC
)
15:15 - 17:00
Room: Orange and Red
Discuss your project ideas with other students, the course examiner, and tutors.
Wednesday 24 August 2011
09:15
Interconnection Networks
-
Michael Schliephake
(
PDC
)
Interconnection Networks
Michael Schliephake
(
PDC
)
09:15 - 10:00
Room: E2
10:00
Break
Break
10:00 - 10:15
Room: E2
10:15
Interconnection Networks
-
Michael Schliephake
(
PDC
)
Interconnection Networks
Michael Schliephake
(
PDC
)
10:15 - 11:00
Room: E2
11:15
Case Study: Green Computing
-
Lennart Johnsson
(
PDC and University of Houston
)
Case Study: Green Computing
Lennart Johnsson
(
PDC and University of Houston
)
11:15 - 12:00
Room: E3
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Lab: Parallel Performance Tools
-
Elisabet Molin
(
PDC
)
Lab: Parallel Performance Tools
Elisabet Molin
(
PDC
)
13:15 - 14:00
Room: Orange and Red
14:15
Lab: MPI Part 2
-
Jonathan Vincent
(
PDC
)
Lab: MPI Part 2
Jonathan Vincent
(
PDC
)
14:15 - 15:00
Room: Orange and Red
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Lab: MPI Part 2
-
Jonathan Vincent
(
PDC
)
Lab: MPI Part 2
Jonathan Vincent
(
PDC
)
15:15 - 17:00
Room: Orange and Red
Thursday 25 August 2011
09:15
MPI: Advanced Concepts
-
Erwin Laure
(
PDC-HPC
)
MPI: Advanced Concepts
Erwin Laure
(
PDC-HPC
)
09:15 - 10:00
Room: E2
10:00
Break
Break
10:00 - 10:15
Room: E2
10:15
MPI: Advanced Concepts
-
Erwin Laure
(
PDC-HPC
)
MPI: Advanced Concepts
Erwin Laure
(
PDC-HPC
)
10:15 - 11:00
Room: E2
11:15
Case Study: Very large-scale brain simulations using supercomputers
-
Anders Lansner
(
KTH/CSC
)
Case Study: Very large-scale brain simulations using supercomputers
Anders Lansner
(
KTH/CSC
)
11:15 - 12:00
Room: E3
Brain science is a rapidly growing application area for supercomputers with a main focus on data analysis of large volumes of data generated from measurements on the brain and on simulations of brain dynamics. The talk will mostly dwell on the latter aspect, first describing briefly some structural and functional aspects of the brain and standard methodology used in computational neuroscience to simulate activity of neurons and networks. Then follows some examples from our own investigations of perceptual and memory functions of the brain using simulation models with varying degrees of biophysical detail. Finally, our experience from performing very large-scale simulations and scaling of models to actual brain size on the Blue Gene architecture will be described.
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Lab: MPI Part 3
-
Jonathan Vincent
(
PDC
)
Lab: MPI Part 3
Jonathan Vincent
(
PDC
)
13:15 - 15:00
Room: Orange and Red
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Lab: MPI Part 3
-
Jonathan Vincent
(
PDC
)
Lab: MPI Part 3
Jonathan Vincent
(
PDC
)
15:15 - 17:00
Room: Orange and Red
Project Work
-
Jesper Oppelstrup
(
KTH/CSC
)
Project Work
Jesper Oppelstrup
(
KTH/CSC
)
15:15 - 17:00
Room: Orange and Red
Discuss your project ideas with other students, the course examiner, and tutors.
18:00
Summing up Dinner
Summing up Dinner
18:00 - 19:15
Room: Jakthornet
Friday 26 August 2011
09:15
New Parallel Programming Languages
-
Iris Christadler
(
LRZ - Leibniz-Rechenzentrum
)
New Parallel Programming Languages
Iris Christadler
(
LRZ - Leibniz-Rechenzentrum
)
09:15 - 10:00
Room: E3
A programming language that is able to abstract the peculiarities of parallel programming on a higher level and deliver good performance and scalability will be a key to harness the vast amount of parallelism available in current and future high-end systems. This lecture gives an overview of the different ways parallelism is expressed in languages designed for -or used in- High Performance Computing. The aim of the lecture is to give students an understanding of the technical possibilities and limitations of those languages. We will have a look at the way parallelism is abstracted and briefly discuss how difficult it is to produce efficient code by the compiler.
10:00
Break
Break
10:00 - 10:15
Room: E3
10:15
New Parallel Programming Languages
-
Iris Christadler
(
LRZ - Leibniz-Rechenzentrum
)
New Parallel Programming Languages
Iris Christadler
(
LRZ - Leibniz-Rechenzentrum
)
10:15 - 11:00
Room: E3
11:15
Case Study: Beyond IT: the Telecom Cloud
-
Andras Vajda
(
Ericsson
)
Case Study: Beyond IT: the Telecom Cloud
Andras Vajda
(
Ericsson
)
11:15 - 12:00
Room: E3
Cloud computing is one of the key business and technology trends impacting every aspect of the ICT industry. While the IT industry was succesful in pushing down the cost of computation and storage, signifcant challenges remain in the areas of networking, SLA enforcement and security, traditionally areas of strength for telecom companies. In this talk we analyze the impact and opportunities of the cloud computing paradigm for the telecommunication companies, both as users as well as provider of cloud-based solutions. Based on the identified opportunities, we describe the key technological and operational innovations that can help streamline operations of telecommunication companies and, at the same time, generate new revenue streams through differentiating solutions.
12:00
Lunch
Lunch
12:00 - 13:15
Room: On your own
13:15
Open Lab
Open Lab
13:15 - 15:00
Room: Orange and Red
15:00
Break
Break
15:00 - 15:15
Room: E3
15:15
Open Lab
Open Lab
15:15 - 17:00
Room: Orange and Red