Programming parallel computers
This course is no longer offered.
The lecture is no longer offered and the information is solely here for reference.
The course aims to teach students fundamental and advanced concepts of parallel computing. Topics include memory systems, different paradigms of programming parallel computers (OpenMP, MPI, CUDA/OpenCL) and scalability and efficiency of parallel algorithms and systems.
- Foundations of parallel programming
- Parallel architectures, i.e. multi- and many-core computers with shared and distributed memory
- Message-Passing Interface (MPI), OpenMP, OpenCL programming standards
- Building blocks of parallel computations
- Criteria for the design of parallel algorithms
- Basics in programming C/C++
- Foundations of Computer Science 3 (memory-hierarchy, threads and processes, compilers and linkers)
Slides, exercises and additional material will be published every week in Moodle. Please register there as soon as the course is available.
|Rotation:||annually, each winter term|
|Time:||Tuesday 11:40 – 13:20, Wednesday 11:40 – 13:20|
|Begin:||14. Oct. 2015|
|Lecturer:||Prof. Dr. Christian Bischof|
|Assistants:||Michael Burger and Alexander Hück and Artur Mariano|
Exercises will be handled through Moodle.
- Using OpenMP: Portable Shared Memory Parallel Programming, Volume 10, Barbara Chapman, Gabriele Jost and Ruud Van Der Pas, MIT Press, 2007
- Parallel programming in C with MPI and OpenMP, Michael J. Quinn, McGraw-Hill, 2004
- Parallele Programmierung, T. Rauber and G. Rünger, Springer, 2007
- Intel Xeon Phi Coprocessor High-Performance Programming, J Jeffers und J. Reinders, Morgan Kaufman, 2013
- Heterogeneous Computing With OpenCL, B. R. Gaster, Elsevier, 2011
- Programming Massively Parallel Processors: A Hands-On Approach, D. B. Kirk, W. W. Hwu, Morgan Kaufmann, 2012