Disclaimer
Die hier hinterlegten Angaben dienen rein der Information und besitzen keine Rechtsgültigkeit. Verbindliche Informationen sind ausschließlich im Modulhandbuch veröffentlicht.
Parallel computing
Learning Outcome / Skills:
Students know different parallel computer architectures and can classify them based on the processing model and the kind of parallelism that is present.
They are able to identify parallelism in compute workloads and can apply different parallel programming models to exploit such parallelism for maximum performance gain.
Students are capable of measuring, analyzing and assessing compute performance, as well as discussing its limits with respect to the algorithm and the compute hardware.
They can recommend appropriate compute hardware for the execution of parallel workloads.
- Performance metrics and their application
- Classification of parallel processing models
- Parallel computer architectures
- Parallelism within the processor (pipelining, vector units, VLIW and superscalar architectures, hyper-threading)
- Multi-core architectures, multi-threading and message passing
- General purpose GPU computing
- Heterogeneous systems and accelerator circuits
- D. Patterson, J. Hennessy: Computer Organization and Design: The Hardware/Software Interface, 6th edition, Morgan Kaufmann, 2020
- J. Hennessy, D. Patterson: Computer Architecture: A Quantitative Approach, 6th edition, Elsevier, 2017
- G. Barlas: Multicore and GPU Programming: An Integrated Approach, 2nd edition, Morgan Kaufmann, 2023
- F. Nelli: Parallel and High Performance Programming with Python 1st edition, Orange Publishing, 2023
- OpenMP Architecture Review Board: OpenMP Application Programming Interface, Version 5.2, November 2021
- Khronos OpenCL Working Group: The OpenCL Specification, Version 3.0, April 2024
- Nvidia: Cuda C++ Programming Guide, Release 12.5, Mai 2024
- lectures with mixed media
- computer/lab based exercises
Englisch
PL
Klausur oder Belegarbeit mit Gespräch
5
4