Introduction to the Octopus code - Advanced topics (IMPRS UFAST focus course)
IMPRS UFAST focus course
- Start: Sep 20, 2021 09:00 AM (Local Time Germany)
- End: Sep 24, 2021 05:00 PM
- Speaker: Martin Lueders, Micael Oliveira, Angel Rubio
- Location: online
- Host: IMPRS UFAST
Abstract:
Research software has become an essential tool in modern science. Despite this, often scientist only have basic training in programming, missing important aspects of modern software development and engineering. In this course we will present key ideas, tools and techniques used by researchers to develop robust, efficient codes in a collaborative environment. This will be done in the context of the Octopus code (https://octopus-code.org). The philosophy of the Octopus code is to be a platform which allows to implement new scientific ideas with relative ease. The code has a modular structure and to a large extend hides numerical nitty-gritties at a lower level, allowing researchers to write new modules without the necessity to touch those low level parts. The code is actively developed with strict quality control. In this second part of the course, the participants will learn everything necessary to contribute to the Octopus development, and to implement new scientific ideas.
Topics include:
- Advanced version control in a collaborative environment (merge requests, code review, etc)
- Advanced topics of git (merge, rebase, etc)
- Regression testing and continuous integration
- Object oriented programming
- Parallelization and performance
As an outlook this course also provides an overview of current state-of-the-art scientific problems with Octopus. Also, the second part will last for one week, with a mixture of lectures and demonstration, as well as hands-on sessions to try the learned concepts.
20th – 24th September 2021
09:00h - 12:00h, 14:00h -17:00h