Main research findings
Computer experiments have become a valuable tool for investigating various physical and biological processes described by partial differential equations (PDEs), such as weather forecasting or modelling the mechanical behaviour of cardiac tissue. Finite element methods are a class of numerical methods for solving PDEs that are often preferred, but these methods are rather difficult to implement correctly, let alone efficiently.
This thesis investigates the performance of several key computational kernels involved in finite element methods. First, a performance model is developed to better understand sparse matrix-vector multiplication, which is central to solving linear systems of equations that arise during finite element calculations. Second, the process of assembling linear systems is considered through careful benchmarking and analysis of the memory traffic involved. This results in clear guidelines for finite element assembly on shared-memory multicore CPUs.
Finally, hardware accelerators are incorporated by extending the FEniCS PDE solver framework to carry out assembly and solution of linear systems on a graphics processing unit (GPU). Example problems show that GPU-accelerated finite element solvers can exhibit substantial speedup over optimised multicore CPU codes. Moreover, the use of automated code generation makes these techniques much more accessible to domain scientists and non-experts.
The thesis was written within the field of High-Performance Computing. The work has been conducted at Simula Research Laboratory.
Prior to the defence, James D. Trotter presented his trial lecture"Using heterogeneous devices efficiently for high-performance computing".
The PhD defence and trial lecture were fully digital.
The adjudication committee
- Professor Garth Wells, Department of Engineering, University of Cambridge, UK
- Dr. Emmanuelle Saillard, Inria Research Center, France
- Professor Carsten Griwodz, Department of Informatics, University of Oslo, Norway
Chair of the disputation
- Associate ProfessorKnut-Helge Ronæs Rolland, Department of Informatics, UiO
- Professor Xing Cai,Simula Research Laboratory / Department of Informatics, University of Oslo
- Researcher Johannes Langguth, Simula Research Laboratory, Norway
- Research director of Scientific Computing Simon W. Funke, Simula Research Laboratory, Norway