Mohit Pundir: Catalogue data in Spring Semester 2025 |
| Name | Dr. Mohit Pundir |
| Address | Professur für Festkörpermechanik ETH Zürich, HIF E 87.2 Laura-Hezner-Weg 7 8093 Zürich SWITZERLAND |
| mohit.pundir@ifb.baug.ethz.ch | |
| Department | Civil, Environmental and Geomatic Engineering |
| Relationship | Lecturer |
| Number | Title | ECTS | Hours | Lecturers | |||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 101-0691-00L | Towards Efficient and High-Performance Computing for Engineers | 4 credits | 3G | D. Kammer, M. Pundir | |||||||||||||||||||||||||||||||||||||||||
| 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. | ||||||||||||||||||||||||||||||||||||||||||||
| Learning 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. | ||||||||||||||||||||||||||||||||||||||||||||
| Competencies |
| ||||||||||||||||||||||||||||||||||||||||||||

