Computer Architecture and Performance Tuning |
||
Session |
Description |
Lecturer |
Lecture 1 |
Understanding scalable hardware |
|
Lecture 2 |
Software that scales with the hardware
In the second part of this double lecture we will
discuss several strategies which can allow
software to scale to the maximum resource
potential in a given architecture. These
strategies are based on both data and task
parallelism. We will stress the importance
of a Data Oriented Design and also mention
the issue of “performance portability”
across platforms. Some important factors
related to programming styles will be
reviewed. To back up everything with
evidence, several scalable examples from
physics will be portrayed. |
|
Lecture 3 |
Key aspects of
multi-threading |
Andrzej Nowak |
Lecture 4 |
Performance Optimization |
|
Exercise 1 Exercise 2 Exercise 3 |
The aim of the exercises in this series is to give the
attendees a practical introduction to
performance oriented programming on Linux.
Advanced tools will be used during the
course, enabling the participants to
discover how the interaction of the code and
the hardware influences performance. The
participants will also be given the task of
correlating performance figures with certain
programming decisions. In addition, the
participants will understand the limits of
performance optimization and the ways to
establish at which point inside those limits
their workload is placed. The exercises will
be supported by demonstrating real world
problems in production environments,
including multi-threaded examples. |
|
Prerequisite and References |
Desirable Prerequisite
|
|