Projects
invlib
invlib is a C++ library that implements Bayesian methods for remote sensing data retrieval. I developed invlib as part of my thesis work for my second Master’s degree in physics. The primary aim of my thesis project was to integrate these methods into the ARTS software package for the simulation of radiative transfer, so that arts could be used as a stand alone package for remote sensing data retrieval. I developed invlib as an external library with the aim of providing a generic, highly configurable and performant implementation of these methods, aiming to conserve the generality of the mathematical formulation. By performing remote sensing data retrievals from two different satellite missions within ARTS and without ARTS, I was able to demonstrate its functionality and performance as well as its usefulness as a standalone library.
I have written a summary post describing in more detail my thesis work and the obtained results. Below you can find a list of posts on the invlib library:
Blog Posts on invlib
Presentations
- My Master’s thesis presentation given May 31st, 2016 at the Department of Earth and Space Sciences at Chalmers University of Technology.
Deep Learning in TMVA
During summer 2016, I had the great opportunity to work in the Software for Experiments (SFT) group at CERN within the Google Summer of Code program. My project, entitled GPU-Accelerated Neural Networks in TMVA, consisted of the implementation of GPU acceleration for the training of deep neural networks (DNN) for the Toolkit for Multivariate Analysis (TMVA), which is a Root-integrated framework for machine learning. By redesigning the previous DNN implementation, I was able to implement training routines both for GPU architectures as well as multi-core CPU architectures. After three months of work on the project, my code was merged into the Root master branch and is now a part of the Root software package. Contributing to such a large and long-existing software project is a great experience and gave me the chance to learn a lot about software development and management of large scale software projects.
I documented my summer of code in this project blog.
Presentations
- Final presentation for my Google Summer of Code project given at the CERN SFT group meeting August 28th, 2016 and at the Interexperimental Machinelearning Group (IML) meeting on September 29th, 2016.
FEECa
FEECa is an acronym for Finite Element Exterior Calculus in Haskell. This is a project that I worked on as a student research assistant at the Department of Mathematics at Chalmers University of Technology. The aim of the project was to explore the potential of functional programming languages, in particular Haskell, to implement mathematical code. As the name suggests, FEECa implements finite element exterior calculus, which is a mathematical framework for the solution of partial differential equations (PDEs) using finite element methods.
Presentations
- Presentation given on May 18, 2016 at the FENICS 2016 workshop.