This lecture will be held in English.
Parallel Program Engineering (IN2310) (Lecture with exercise)
|Position within curricula||See TUMonline|
Course criteria & registration
See TUMonlineRegistration is possible via e-mail only with Prof. Gerndt <firstname.lastname@example.org>.
The participants will be able to apply a structured approach in the development of parallel applications. They are able to assess and apply existing tools for a given problem. They understand tool development infrastructures and are able to design and implement own solutions to issues in the development process of parallel software.
- Introduction to parallel programming, programming models and languages, applications, and the parallelization approach. - Software development process focusing on aspects and requirements for parallel and high performance applications. - Development environments supporting the orchestration of parallel programs. - Concepts and tools for engineering parallel programs focusing on: * Domain decomposition * Debugging * Performance analysis * Performance modeling and prediction * Application tuning - Performance engineering workflows - Tool development infrastructures
Recommended: Computer Architecture (IN2076), Parallel Programming (IN2147)
Teaching and learning methods
This module comprises lectures and accompanying project work. The lectures will be based on presentations. Interactive brainstorming elements will be integrated based on mind managing technologies. Students will be encouraged to study literature based on the given books and available research papers. Participants will apply the concepts learned based on real tools in multiple small projects executed in teamwork in the exercises.
exam + oral project presentations In the exam, students should prove their knowledge of concepts, techniques and tools. They should show their ability to apply the knowledge to outline solutions for given tasks. The examination will cover the content of the lectures. The answers will require own formulations.
- Andrew Tanenbaum: Structure Computer Organization, 2013 - David E. Culler, Jasweinder Pal Singh, Anoop Gupta: Parallel Computer Architecture: A Hardware / Software Approach, 1999 - David Padua (ed.): Encyclopedia of Parallel Programming, Springer, 2011 - Roberto Battiti and Mauro Brunato: The LION Way: Machine Learning plus Intelligent Optimization, 2014 - Matthias Müller, Michael Resch, Alexander Schulz, Wolfgang Nagel: Tools for High Performance Computing, Springer, Book Series (2009-2013)