David Kammer: Catalogue data in Spring Semester 2021

Name Prof. Dr. David Kammer
Name variantsDavid S. Kammer
FieldComputational 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
E-maildkammer@ethz.ch
URLhttp://www.ifb.ethz.ch/compmech/
DepartmentCivil, Environmental and Geomatic Engineering
RelationshipAssistant Professor (Tenure Track)

NumberTitleECTSHoursLecturers
101-0691-00LTowards Efficient and High-Performance Computing for Engineers Restricted registration - show details 4 credits2GD. Kammer
AbstractThis 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.
ObjectiveThis 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.
Content1. 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 notesWill be provided during the lecture via moodle.
LiteratureWill be provided during the lecture.
Prerequisites / NoticeA good knowledge of MATLAB (or Python or java) is necessary for attending this course.