André Rigland Brodtkorb

Short bio

I work as an associate professor (nor: førsteamanuensis) at Oslo Metropolitan University, and head of the Mathematical Modeling academic group. My research centers on scientific computing and includes high-performance computing, applied mathematics, numerical simulation, accelerated scientific computing, machine learning, and real-time scientific visualization.

I enjoy supervising master thesis, so if you are interested, please get in touch. I have a webpage with some examples of theses that I can supervise. Common to them all is that they have a combination of computer science, mathematics, and visualization. You do not need to be an expert in all of these fields, as the thesis topic will be tailored to your interests and experience and the aim of your thesis work is also to learn something new.


Cell: (+47) 45 61 90 70 Linkedin Google Scholar
Homing pidgeon available upon request.

Recent Publications

(30) A. R. Brodtkorb. Solving Hyperbolic Conservation Laws on GPUs, in preparation, preprint available on request, 2023.

Abstract: GPUs have gone from something esoteric to mainstream within scientific computing over the last decade. The aim of this paper is to demonstrate that development of solvers for hyperbolic conservation laws on GPUs can be simple, easy, and efficient using modern development techniques. This paper starts with a short introduction to hyperbolic conservation laws, and techniques for computing solutions to such equations. Then, we show how these techniques can implemented on a GPU with relative ease, yet keeping the performance high. The source code is released under an open source license, with the hope that it can serve as a tutorial or building block for other researchers to build more advanced high-performance solvers.

(29) A. R. Brodtkorb, A. Benedictow, H. Klein, A. Kylling, A. Nyiri, A. Valdebenito, E. Sollum Estimating volcanic ash emissions using retrieved satellite ash columns and inverse ash transport modelling using VolcanicAshInversion v1.2.1, within the operational eEMEP volcanic plume forecasting system (version rv4_17), 2023.
EGU preprint | Source code (Zenodo) | Satellite data (Zenodo) | Forward simulations (Zenodo) | Presentation

Abstract: This paper describes the inversion procedure being used operationally at the Norwegian Meteorological Institute for estimating ash emission rates from satellite images. The overall procedure consists of five stages: (1) run emission scenario simulations; (2) generate a priori emission estimates; (3) match observations with emission simulations; (4) build system of linear equations; and (5) solve overdetermined system. We go through the mathematical foundations for the inversion procedure, performance for synthetic cases, and performance for real-world cases. The novelties of this paper includes pruning of the linear system of equations used in the inversion and inclusion of observations of ash cloud height from the SLSTR instrument. The source code used in this work is freely available under an open source license, and is possible to use for other similar applications.

(28) A. R. Brodtkorb, M. L. Sætra Simulating the Euler equations on multiple GPUs using Python, Frontiers in Physics, DOI [Draft (PDF)], 2022.

Abstract: GPUs have become a household name in high performance computing (HPC) systems over the last 15 years. However, programming GPUs is still largely a manual and arduous task, which requires expert knowledge on the physics, mathematics, and computer science involved. Even though there have been large advances in automatic parallelization and GPU execution of serial code, it is still difficult to fully utilize the GPU hardware with such approaches. Many core numeric GPU codes are therefore still written using C++ or Fortran for the host code.

It is a coming challenge that the C++ and Fortran literacy amongst graduates is falling, and there is substantial research that shows that using high-level languages such as Python increases productivity and lowers mistakes and bugs in the source code.

We have developed a simulation software based on PyOpenCL and mpi4py in Python for solving the Euler equations on Cartesian grids. Our framework utilizes the GPU, and can automatically run on clusters using MPI as well as on shared memory architectures. The framework furthermore allows the programmer to implement low-level details in CUDA, which is important to achieve peak performance, whilst still benefiting from the productivity of Python. We show that we are able to achieve perfect strong and weak scaling on both shared and distributed memory GPU clusters.

(27) A. R. Brodtkorb, H. H. Holm. Coastal Ocean Forecasting on the GPU using a Two-Dimensional Finite-Volume Scheme, Tellus A: Dynamic Meteorology & Oceanography, arXiv preprint, 2021.

Abstract: Flexible simulations of the ocean is a challenging task that requires accurate numerical schemes that capture the relevantphysical properties and run efficiently without the need for large super computers. In this work, we take a modernhigh-resolution finite-volume scheme for solving the rotational shallow-water equations, and extend it with featuresrequired to run real-world ocean simulations efficiently on the GPU. The chosen scheme, first proposed by Chertocket al. (Chertock et al., 2017), is well-balanced with respect to the so-called geostrophic balance, and our contributionsinclude an efficient reformulation that makes it well-suited for massively parallel implementations, varying north vectorrequired for large scale domains, dynamic dry states combined with a static land mask, bottom shear stress, and windforcing. Further, we build a simulation framework that use real-world data (land mask, bathymetry, wind stress, andinitial and external boundary conditions) directly from three-dimensional operational ocean current forecasts that aremade publicly by the Norwegian Meteorological Institute. We show numerical experiments using three different real-world domains, and show that our simulation framework provides tidal predictions almost as well as the operationalmodel in the available time range. We also demonstrate numerical convergence using a non-trivial case and show weakappropriate weak scaling of the computational performance of our GPU implementation.

Full list

Log In Page last modified on March 24, 2023, at 09:02 AM