"Parallel Processing (Parallelverarbeitung)" (Lecture
+ Lab) Winter 2024/25
- Contents: Basics of parallel computer architecture, principles and practice of parallel programming, with focus on OpenMP and MPI
- Prerequisites in terms of content: Algorithms
and Data Structures, Object oriented and functional Programming,
Operating Systems and Concurrent Programming
- Details: Module description in unisono (mostly in German), description in English (page 26)
- Examination: written electronic exam (60 minutes, in
German or in English);
for students in PO 2012, admission to the examination requires the successful participation in the lab - Link to further information in unisono (date/time etc.): Lecture, Lab
- Link to the moodle course.
Announcements
26.09.2024 | The exam will presumably take place on Tuesday, February, 25th 2025 at 09:00 s.t. in Room PB-C 101. Exam duration will be 60 minutes. It will be an open book exam, i.e., you are allowed to use printed materials like lecture slides, scripts, books, own notes, etc., but no electronic devices or communication means. You also will get a PDF Dodument with the most important OpenMP pragmas and MPI routines. The exam will be conducted electronically using the Q-Exam system. The computers (laptops) will be provided by the university. To get acquainted with the system, please have a look at the demo exams (select the exam named "Demo-Prüfung Parallelverarbeitung") and the screen casts provided in the moodle course! If you have questions or problems, please contact the e-assessment support team (e-klausuren@uni-siegen.de). You can also ask questions immediately before the exam starts. Please notice that the laptops provide a German keyboard. The '#' is located left of the 'Enter' key, '{', '}', '[', and ']' can be entered by pressing the 'AltGr' key (right of the 'Space' key) together with '7', '8', '9', or '0'. The 'Ctrl' key is named 'Strg'. Please acquaint yoursef with that layout! See here for an accurate image or here for an interactive simulation (which actually differes slightly from the laptop keyboards). | ||
26.09.2024 | The practical programming exercises should be done using a Linux operating system. However, most exercises can also be done in a Windows environment. You can find some technical information about this here. If you want to install the Scalasca performance analysis tool on your Linux computer, you can use this script which contains all the necessary commands. Please be sure to also look at the documentation. | ||
26.09.2024 | You can find old slides in German (from WiSe 15/16!) here: original size, 2-on-1. |
||
29.10.2024 | IMPORTANT: In order to
pass this module, you must submit practical exercises. You MUST
register for the corresponding study achievement in unisono before you submit the first exercise (for Exam Regulations 2012: "822120-SL -
Parallelverarbeitung", see this
screen dump; for Exam Regulations 2021: "4INFMA024-S - Studienleistung Parallelverarbeitung", see this screen dump). You must do this in this semester even
if you want to take the exam in a later semester! In order to pass the study achievement, you must get at least 12 of the maximum possible 16 points. |
||
|
26.09.2024 | |
Start of the lecture: Tuesday, 08.10.2024 (this is the assigned lab hor, but we will do the lecture!) |
Course Materials
- Complete set of slides (date: 08.10.24
): original
size, 2
on 1
- Slides for individual chapters (updated during the semester):
0. Organisation 10.10.24
original size
1. Repetition / Foundations 23.10.24
original size 2 on 1 code 2. Basics or Parallel Processing 29.10.24
original size 2 on 1
3. Parallel Programming with Shared Memory 18.11.24
original size 2 on 1 code 4. Parallel Programming with Message Passing 07.10.24
original size 2 on 1 code 5. Optimisation Techniques 07.10.24
original size 2 on 1 code 6. Summary / Important Topics
08.10.24
original size 2 on 1 - The slides in original size also include all animations, the 2 on 1 versions include additional notes and explanations.
Exercises
Solutions for compulsory exercises must be submitted via the moodle course.No. | Date of issue | Deadline | Max. Points | Discussion | Exercise sheet/code | Partial Solution | |
1 | 28.10. | 05.11., 10:00 | 1 | 05.11. | Exercise sheet, Code | |
|
2 | 04.11. | 12.11., 10:00 | 1 | 12.11. | Exercise sheet, Code | |
|
3 | 11.11. | 26.11., 10:00 | 2 | 26.11. | Exercise sheet, Code | |
|
4 | 18.11. | 03.12., 10:00 | 2 | 03.12. | Exercise sheet, Code | |
|
5 | 02.12. | 17.12., 10:00 | 3 | 17.12. | Exercise sheet, Code | |
|
6 | 09.12. | 07.01., 10:00 | 2 | 07.01. | | |
|
7 | 06.01. | 21.01., 10:00 | 2 | 21.01. | | |
|
8 | 13.01. | 28.01., 10:00 | 3 | 28.01. | | |
General Literature
- A. Grama, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing, 2. ed., Pearson Education, 2003.
- Barry Wilkinson, Michael Allen: Parallel Programming, internat. ed., 2. ed., Pearson Education international, 2005.
- R. Trobec, B. Slivnik, P. Bulic, B. Robic: Introduction to Parallel Computing. Springer, 2018.
- Thomas Rauber, Gudula Rünger: Parallele und verteilte Programmierung. Springer, 2000.
- Theo Ungerer: Parallelrechner und parallele Programmierung, Spektrum, Akad. Verl., 1997.
- Ian Foster: Designing and Building Parallel Programs, Addison-Wesley, 1995.
- Seyed Roosta: Parallel Processing and Parallel Algorithms, Springer, 2000.
- Rainer Oechsle: Parallele Programmierung mit Java Threads, Fachbuchverlag Leipzig, 2001.
- S. Hoffmann, R.Lienhart: OpenMP, Springer, 2008.
- W. Gropp, E. Lusk, A. Skjellum: Using MPI, MIT Press, 1994.
- Michael Wolfe: Optimizing Supercompilers for Supercomputers, MIT Press, 1989.
Further Reading and Links
- Linux
- C/C++
- OpenMP
- OpenMP home page
- OpenMP standard (version 3.0 for C/C++/FORTRAN, PDF, 1,2MB; version 2.0 for C/C++, PDF, 270KB)
- OpenMP introduction
- OpenMP tutorial
- MPI