Picture of Erik LindahlPresenter: Erik Lindahl
University of Stockholm, Sweden
erik.lindahl@scilifelab.se

Slides

* Session Recording

Link to github repository for IHPCSS laplace codebase

This talk is about the real world, in particular how to move from writing your own small programs to work in larger teams, to increase the quality of your code, and in particular to help you avoid that your code ever results in a a public embarrassment where a scientific paper has to be retracted due to bugs.

In the context of the GROMACS code that we develop, I will show some modern solutions for configuration, testing, and maintenance of codes with thousands to millions of lines of code, and how you can get both languages, compilers, and other tools to do much of this work for you. You will learn about formal unit testing, code review, and solutions for continuous integration. While these tools are developed for large software projects, it is a very good idea to use them from the start of your career.

To aid you in this, I will also show examples where we have developed the IHPCSS laplace code example into a fully managed repository with strict commit revision control, code review, automatic configuration, documentation, and continuous integration, all present at https://github.com/IHPCSS/software-engineering . You are more than welcome to clone this repository and use it as a basis for your own work - no credit required.


Erik Lindahl is professor of Biophysics at Stockholm University Sweden, with a second appointment as professor of Theoretical Biophysics at the KTH Royal Institute of Technology. His research is focused on understanding membrane protein structure and function, in particular complex conformational transition and method development both for molecular dynamics simulations and cryo-EM structure determination. The lab leads the development of GROMACS, which is one of the large programs used for parallel molecular dynamics simulations on a wide range of supercomputers, distributed resources and accelerators such as GPUs or many-core chips.


Last modified: Wednesday, July 12, 2023, 9:50 AM