David Kammer: Catalogue data in Spring Semester 2021 |
Name | Prof. Dr. David Kammer |
Name variants | David S. Kammer |
Field | Computational Mechanics of Building Materials |
Address | Institut für Baustoffe (IfB) ETH Zürich, HIF E 89.1 Laura-Hezner-Weg 7 8093 Zürich SWITZERLAND |
Telephone | +41 44 633 07 36 |
dkammer@ethz.ch | |
URL | http://www.ifb.ethz.ch/compmech/ |
Department | Civil, Environmental and Geomatic Engineering |
Relationship | Assistant Professor (Tenure Track) |
Number | Title | ECTS | Hours | Lecturers | |
---|---|---|---|---|---|
101-0691-00L | Towards Efficient and High-Performance Computing for Engineers ![]() | 4 credits | 2G | D. Kammer | |
Abstract | This 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. | ||||
Objective | This 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. | ||||
Content | 1. 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 | ||||
Lecture notes | Will be provided during the lecture via moodle. | ||||
Literature | Will be provided during the lecture. | ||||
Prerequisites / Notice | A good knowledge of MATLAB (or Python or java) is necessary for attending this course. |