Introduction to
High Performance Computing and Optimization

SemesterWinter 2012/13
Audience 3. CMS, 5./7./9./ Mm
SWS2 / 1 / 0
Credits (Leistungspunkte) (4)
Instructor Oliver Ernst
Teaching Assistants Felix Eckhofer
Werner Queck
Contents The purpose of this course is to provide an introduction to high performance computing, writing efficient numerical code and to parallel computing on shared and distributed memory multiprocessor systems.
Prerequisites Basics of numerical analysis and knowledge in scientific programming..
Requirements for Credit Points Written exam (120 min), if more than 20 students are present; alternative oral exam (30 minutes). Precondition of the exam will be a Programming Project.

to top Dates & Times
Lectures Wednesdays, 16:00-17:30, Room MIB-1107
Problem Sessions Dienstags (gerade Wochen), 9:15-10:45, Raum MIB-1108 (deutsch)
Tuesdays (even weeks), 14:00-15:30, Room MIB-1108 (english)

to top Lectures
Chapter 0 Preliminaries (23.10.2012)
Chapter 1 Introduction (23.10.2012)
Chapter 2 Processor Architecture (22.11.2012)
Chapter 3 Optimization of Serial Code (5.12.2012)
Chapter 4 Parallel Computing (13.01.2013)
Chapter 5 OpenMP Programming (19.02.2013)

to topProblem Sets
Tutorial I (16.10.2012) Getting started and simple timings
Tutorial II (30.10.2012) Benchmarking pitfalls and using the BLAS
Tutorial III (13.11.2012) Understanding Aliasing and how to use GProf/GDB
Tutorial IV (27.11.2012) Cache conflicts and a code optimization exercise
Tutorial V (11.12.2012) Results from last week's exercise and some likwid-tools
Tutorial VI (08.01.2013) Using the HPC cluster in Freiberg and OpenMP basics
Tutorial VII (30.01.2013) Pinning processes/threads and figuring out last week's numbers

to top Supplemental Material