André Rigland Brodtkorb

Short bio

I am a research scientist in the Division for Climate Modelling and Air Pollution at the Norwegian Meteorological Institute, and an Associate Professor (nor: Førsteamanuensis) at OsloMet - Oslo Metropolitan University. My research interests include high-performance computing, applied mathematics, numerical simulation, accelerated scientific computing, machine learning, and real-time scientific visualization. I've been co-organizer and organizer of the Geilo Winter School in eScience from 2011 to 2020, which annually attracts between 30 and 130 participants. I also enjoy teaching, and have taught various courses within mathematics and computer science at the Oslo Metropolitan University, University of Oslo, Norwegian School of Information Technology, Universidad de Granada, Universidad de Valladolid, and Politecnico di Milano.


Email: Andre.Brodtkorb@{met,oslomet,ifi.uio}.no
Cell: (+47) 45 61 90 70
Homing pidgeon available upon request.


Linkedin Google Scholar Researchgate Youtube Github Instagram Strava Facebook

Recent Publications

(28) A. R. Brodtkorb, A. Benedictow, H. Klein, A. Kylling, A. Nyiri, A. Valdebenito, E. Sollum Estimating volcanic ash emissions using satellite images with altitude observations, 2020.
arXiv preprint | Source code (Zenodo) | Satellite data (Zenodo) | Forward simulations (Zenodo)

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.

(27) A. R. Brodtkorb. Solving Hyperbolic Conservation Laws on GPUs, in preparation, 2020.

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.

(26) A. R. Brodtkorb, H. H. Holm. Real-world oceanographic simulations on the GPU using a two-dimensional finite volume scheme, arXiv preprint, 2020.

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.

(25) H. H. Holm, M. L. Sætra, A. R. Brodtkorb. Data Assimilation for Ocean Drift Trajectories Using Massive Ensembles and GPUs, Finite Volumes for Complex Applications IX, 2020. [Draft (PDF)].

Abstract: In this work, we perform fully non-linear data assimilation of ocean drift trajectories using a cluster of GPUs. We use an ensemble of over 1000 members and the sequential importance resampling algorithm to assimilate observations of drift trajectories into the physical variables of the underlying shallow water simulation model. Our results show an improved drift trajectory forecast using data assimilation for a complex and realistic simulation scenario, and the implementation exhibits good weak and strong scaling.

(24) H. H. Holm, A. R. Brodtkorb, M. L. Sætra, GPU Computing with Python: Performance, EnergyEfficiency and Usability, MDPI Computation 8(1), 4, Special issue on Energy-Efficient Computing on Parallel Architectures, 2020. [DOI]

Abstract: In this work, we examine the performance, energy efficiency and usability when using Python for developing high performance computing codes running on the graphics processing unit (GPU). We investigate the portability of performance and energy efficiency between CUDA and OpenCL; between GPU generations; and between low-end, mid-range and high-end GPUs. Our findings show that the impact of using Python is negligible for our applications, and furthermore, CUDA and OpenCL applications tuned to an equivalent level can in many cases obtain the same computational performance. Our experiments show that performance in general varies more between different GPUs than between using CUDA and OpenCL. We also show that tuning for performance is a good way of tuning for energy efficiency, but that specific tuning is needed to obtain optimal energy efficiency.

(23) H.H. Holm, A.R. Brodtkorb, and M.L. Sætra. Performance and energy efficiency of CUDA and OpenCL for GPU computing using Python. In Proceedings of the ParCo 2019 conference, 2019. arXiv preprint

Abstract: We have developed a shallow water simulator in Python that utilizes the GPU for computational performance. To access the GPU, there are today several different programming languages and models, and two popular choices are Nvidia CUDA and OpenCL. CUDA is a propritary language that can run only on NVIDIA GPUs, whilst OpenCL is an open standard available for GPUs from several vendors, in addition to other architectures such as Intel CPUs and FPGAs.

In this paper, we report our experiences using both pyCUDA and pyOpenCL for computational science. There are benefits to both approaches, and we summarize and compare some of these in a table. We compare achieved performance of equivalent code, availability and maturity of tools and the development ecosystems, and other relevant metrics.

Full list

Recent Talks

(57) 2019-02-04, Graphics Cards and Conservation Laws, PDE Seminar series, University of Oslo.

(56) 2019-01-24, Introduction to Monte Carlo Simulation using Python, 19th Geilo Winter School: Learning from Data.

(55) 2018-10-01 -- 2018-10-05, Two and a half day course on hyperbolic conservation laws using GPUs, Politecnico di Milano, Italy. Lecture notes (zip) Github

(54) 2018-10-01 -- 2018-10-05, Simplified Ocean Models on the GPU, Seminar, Politecnico di Milano, Italy.

(53) 2018-09-17 -- 2018-09-05, Simplified Ocean Models on the GPU, Norsk Informatikkonferanse, Svalbard.

(52) 2018-05-22 -- 2018-05-23 Master course in high performance computing, Programación Gráfica de Altas Prestaciones, University of Granada, Spain. Lecture 1 (PDF) Lecture 2 (PDF) Lecture 3 (PDF)

(51) 2018-03-01, GPUs and Conservation Laws, Mathematical Modeling Seminar, Oslo Metropolitan University, Oslo, Norway Talk (PDF)

Full list


(19) 2014-09-19 Ph.D. opponent for Mattia Natali, Sketch-based Modelling and Conceptual Visualization of Geomorphological Processes for Interactive Scientific Communication, University of Bergen, Norway.

(18) 2013-06-01 -- 2013-06-05 International Program Committee member for the Third International Workshop on New Algorithms and Programming Models for the Manycore Era, Helsinki, Finland.

(17) 2013-03-18 -- 2013-03-21 T. A. Haufmann, A. R. Brodtkorb, A. Berge, P0168: Real-time voxel carving with automatic synchronization, Poster, GPU Technology Conference, 2013. [Poster (PDF)]

Full list

Log In Page last modified on December 05, 2019, at 07:20 AM