Practical Lab WS 22/23 Efficient & User-friendly Parallel Implementation of Finite Difference Methods
Efficient & User-friendly Parallel Implementation of Finite Difference Methods
Important
If you are interested in participating in this practical lab, please send an email to Lukas Troska answering the following questions:
- Do you have access to a computer on which you can code and install software?
- If yes, what type of computer is it and which operating system is it running?
- Do you need help installing software?
- Did you attend the lab “Programming Methods in Scientific Computing (P2E1)”?
Dates
- Lecture
- Wednesdays, 14:15 - 16:00
- Location
- Seminar room 2.035 and 2.041, INS
- First meeting
- Wednesday, 12.10.2022, 15:15 - 16:00, seminar room 2.035, INS
Content and goals of the lab
The lab will focus on the efficient parallel implementation of finite difference methods and will be loosely based and extend on the lab Programmiermethoden des Wissenschaftlichen Rechnens (P2E1). The end product of the lab will be a generic parallel library for finite difference methods where efficiency is attained via a C++ implementation and user-friendlyness is achieved via a Python interface.
Overview of content
- Efficient programming in C++
- Interfacing C++ and Python
- Parallel programming using MPI
- Finite difference discretization of complex domains
- Efficient parallel solution of the resulting linear system
- Efficiency & scalability in the parallel setting
The lectures will alternate between a theoretical lecture, teaching the fundamentals, and a practical lecture, where individual questions concerning the exercise sheets will be answered.
The required software can easily be installed on your personal computer (Windows, macOS, Linux). Additionally modern workstations (Linux) and a large linux cluster are available for the participants.
Requirements
- Basics of Python and/or C/C++ are helpful but not strictly necessary
- Basics of finite difference methods
Exercise sheets
The lecture will not only contain a theoretical but also a practical part. The theoretical foundations will be taught in one week and programming exercises will be solved the next week. The exercise sheets will be available after each theoretical lecture. These sheets can be solved at home and in the practical lectures.
Depending on the exercise the exercise sheets will be solved alone or in groups of 3.
Registration
The registration for the practical lab has to be done via Basis with the usual deadlines of the university (“Prüfungsan- und -abmeldung”). More information will be provided in the first meeting.
Basis and eCampus
Exam
All work during the practical lab will be taken into account for the final grade. Additionally there will be an oral exam at the end of the semester.