IN4049TU
Introduction to High Performance Computing
Course description
This course is intended for
students who are interested in computing-intensive research. In the course, a
number of algorithms that are being used within a diversity of research areas
is considered. The scaling behaviour of these
algorithms in case of an increasing problem size and/or an increasing number of
processors, is analysed. Attention is paid to those
aspects of computer architectures that are important to understand the
resulting performance, such as the memory hierarchy and the interconnection network.
By analysing a number of case studies (applications)
with respect to their computing-intensive character, possible bottlenecks will
be determined. Based on performance analysis, it will be indicated how the
effect of those bottlenecks can be reduced. The goal is to learn how to get a
high performance with the available hard/architecture.
The lab exercises will be done on a cluster of computers, the DAS-4 system at
TU Delft with 48 processors. The emphasis will be on designing efficient
parallel algorithms and on the necessary optimalisation
of the performance. During the lab exercises, the following types of problems
will be elaborated on: a parallel Poisson solver, a parallel finite element
simulation and a parallel N-body simulation. More information, such as handouts
and slides, can be found the Blackboard. High Performance Computing, Parallel
programming, parallel computing
Expected prior knowledge
Linear algebra (matrix and
vector operations), Numerical analysis (solution of a system of linear equations;some experience with a programming language
(e.g., C) is a preferred but not required.