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.
Cell: (+47) 45 61 90 70
Homing pidgeon available upon request.
A. R. Brodtkorb.
Solving Hyperbolic Conservation Laws on GPUs, in preparation, 2018.
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.
A. R. Brodtkorb, H. H. Holm, M. L. SÃ¦tra.
GPU Computing with Python: A review of using PyOpenCL and PyCUDA for high performance computing, in review, 2018.
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.
A. R. Brodtkorb.
Agile Supervision of Bachelor, Master, and PhD. theses, Submitted, 2019.
Supervision of students can often require a significant mental effort from the
supervisor to be effective for the students. When supervising one or two students it
is relatively easy to remember the context for each students work from one meeting
to the next. However, with a large number of students the mental complexity of the
supervision becomes significant. This paper presents the authors experience with using
planning boards for supervision of students on bachelor, master, and PhD level to tackle
H. H. Holm, A. R. Brodtkorb, G. BrostrÃ¶m, K. H. Christensen, M. L. SÃ¦tra.
Test cases for rotational shallow-water systems, submitted, 2018.
Many scientific disciplines and practical problems involve computational fluid dynamics and simulation of water bodies based on the shallow-water equations.
Herein, we target the challenge of validating numerical schemes and their implementations for oceanographic flow.
We propose a set of test cases for the shallow-water equations in a rotational frame that represent important physical properties as seen from an oceanographic viewpoint.
These are intended used by researchers developing new numerical schemes for oceanographic applications, and the test cases are demonstrated using four existing numerical schemes from the literature.
The results from the test cases are presented in a systematic manner, together with quantitative and qualitative properties of the numerical schemes.
A. R. Brodtkorb.
Simplified Ocean Models on the GPU, Norsk Informatikkonferanse, 2018. Paper (bibsys)
This article describes the implementation of three different simplified ocean models on a GPU (graphics processing unit) using Python and PyOpenCL. The three models are all based on the solving the shallow water equations on Cartesian grids, and our work is motivated by the aim of running very large ensembles of forecast models for fully nonlinear data assimilation. The models are the linearized shallow water equations, the non-linear shallow water equations, and the two-layer non-linear shallow water equations, respectively, and they contain progressively more physical properties of the ocean dynamics. We show how these models are discretized to run efficiently on a graphics processing unit, discuss how to implement them, and show some simulation results. The implementation is available online under an open source license, and may serve as a starting point for others to implement similar oceanographic models.
2019-02-04, Graphics Cards and Conservation Laws, PDE Seminar series, University of Oslo.
2019-01-24, Introduction to Monte Carlo Simulation using Python, 19th Geilo Winter School: Learning from Data.
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
2018-10-01 -- 2018-10-05, Simplified Ocean Models on the GPU, Seminar, Politecnico di Milano, Italy.
2018-09-17 -- 2018-09-05, Simplified Ocean Models on the GPU, Norsk Informatikkonferanse, Svalbard.
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)
2018-03-01, GPUs and Conservation Laws, Mathematical Modeling Seminar, Oslo Metropolitan University, Oslo, Norway Talk (PDF)
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.
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.
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.