101-0691-00L  Towards Efficient and High-Performance Computing for Engineers

SemesterFrühjahrssemester 2021
DozierendeD. Kammer
Periodizitätjährlich wiederkehrende Veranstaltung
LehrspracheEnglisch


KurzbeschreibungThis course is an introduction to various programming techniques and tools for the development of scientific simulations (using C++). It provides the practical and theoretical basis for high-performance computing (HPC) including data structure, testing, performance evaluation and parallelization. The course bridges the gap between introductory and advanced programming courses.
LernzielThis course provides an overview of programming techniques relevant for efficient and high-performance computing. It builds on introductory coding experience (e.g. matlab/python/java) and introduces the students to more advanced tools, specifically C++, external libraries, and supercomputers. The objective of this course is to introduce various approaches of good practice in developing your own code (for your research or engineering project) or using/modifying existing open-source programs. The course targets engineering students and seeks to provide a practical introduction towards performance-based computational simulation.
Inhalt1. code versioning and DevOps lifecycle
2. introduction to C++
3. structured programming
4. object-oriented programming
5. code testing
6. code performance (design, data structure, evaluating, using external libraries)
7. code parallelization
8. running simulations on supercomputers
SkriptWill be provided during the lecture via moodle.
LiteraturWill be provided during the lecture.
Voraussetzungen / BesonderesA good knowledge of MATLAB (or Python or java) is necessary for attending this course.