Published February 20, 2023 | Version v1

Research Software Engineering in OpenLB: Refactoring a Legacy Code to State-Of-The-Art Performance

  • 1. KIT

Description

Lattice Boltzmann Methods (LBM) are an established approach for simulating a wide variety of transport phenomena. The software framework OpenLB has been in continuous development for 15 years and counting as one of the major open source LBM research codes. Due to the need to develop the library alongside the primary research of the involved scientists, maintenance and performance-focused development was on the back burner for large stretches of its history, leading to it remaining a CPU-only code supporting neither SIMD nor GPUs.

Within the last couple of year this was remedied by a focused refactoring effort leading to offering state-of-the-art performance on multi-GPU clusters with the latest release.

This talk will revisit the steps leading to this significant advance of a feature-rich codebase, detailing the decision process between a full rewrite and incremental refactoring focused on maintaining and extending the usability of the existing feature set. In addition to this, the internal development processes w.r.t. continuous integration testing, validation and reproducability will be discussed alongside benchmarks on the HoreKa supercomputer.

Files

derse23_openlb_rse.pdf

Files (4.5 MB)

Name Size Download all
md5:543ab9896ab1e1c710c32c3fd72c0080
4.5 MB Preview Download