Detailed information |
Original study plan |
Bachelor's programme Technical Mathematics 2023W |
Objectives |
Students are able to write programs for concurrent systems (multi-core processors and multi-processor architectures) using various widely used high-level (application-oriented) parallel programming paradigms. They understand and are able to overcome basic problems of concurrency such as data races and performance bottlenecks in order to write correct and scalable programs that are able to effectively utilize the resources of modern high-performance computing systems. Furthermore, students are able to experimentally evaluate the performance of their programs in a systematic way.
|
Subject |
High-level parallel programming models:
- Automatic parallelization.
- OpenMP.
- Java concurrency API.
- MPI.
Fundamentals of parallel software development:
- Parallel architectures.
- Performance evaluation.
- Parallel program design.
- Parallel algorithms.
|
Criteria for evaluation |
Programming exercises performed on a high-performance computing server of the JKU.
|
Methods |
Slide presentations with case studies on blackboard and live demonstrations on local computer respectively remote servers.
|
Language |
English and French |
Study material |
Lecture slides and public information about parallel programming APIs (Java, OpenMP, MPI, POSIX Threads, C++) available from the course page.
Additional literature:
- Peter Pacheco and Matthew Malensek: An Introduction to Parallel Programming, 2nd edition. Morgan Kaufmann, 2021.
- Roman Trobec et al: Introduction to Parallel Computing: From Algorithms to Programming on State-of-the-Art Platforms, Springer, 2018.
- Bertil Schmidt et al.: Parallel Computing - Concepts and Practice, Morgan Kaufmann, 2017.
- Thomas Rauber and Gudula Rünger: Parallel Programming for Multicore and Cluster Systems, Springer, 2013.
- Michael J. Quinn: Parallel Programming in C with with MPI and OpenMP, McGraw-Hill, 2003.
- Ian Foster: Designing and Building Parallel Programs, Addison-Wesley, 1995.
|
Changing subject? |
No |
Further information |
https://risc.jku.at/courses/
|
Earlier variants |
They also cover the requirements of the curriculum (from - to) 201LOSDIPDV20: VL Introduction to parallel and distributed computing (2020W-2023S) TM1WIVOPVRE: VL Introduction to parallel and distributed computing (2003S-2020S)
|