(Disclaimer: The course takes place on demand. If a minimum number of participants is reached, we will set a date together. The course is an on-side course in Leipzig (Germany))
Distributed and Parallel Programming
This is a short intensive course on parallel programming, teaching the basics of parallelization, distributed and asynchronous programming, as well as domain partition.
This course will cover at least the following basics:
- Computation basics - Introduction to Problems and Solutions
- Basics on parallelization and asynchronous programming
- Domain Partition and how to use MPI
- Basics in Performance Analysis
This course is offered lecture-style or hackathon-style.
When this course is booked as lecture style, we will present selected topics from the world of parallel programming and teach using guided excercises. Additional topics can be delved into, depending on the learning success of participants. The lecture will use C++ examples, with the potential of extending this to Python and Rust. The course is at least two days - with the option to split the days into sessions of half a day or even less.
A hackathon style course expects you (and your research group) to bring in a problem from your daily scientific work - and with the help of a few introductory sessions in parallel programming, we will assist you working on a distributed or scalable implementation of your workflows. The hackathon-style course can only be booked with a team of people responsible for a piece of modelling code or software, with the focus being on the parallel implementation of such a software.