Things I usually do
C++: GPU programming with CUDA, multithreaded programming, bitwise operations and tricks, Qt
JS: Vue, NodeJS, ExpressJS, plotting, SQL databases
Outreach: IOP Computational Physics Group, GPU Hackathons mentoring, Citizen Science Projects
Python: CuPy, async programming, plotting, TensorFlow, PyQT, real-time processing, fighting indentation
Docker and Singularity: build and runtime optimisations, best practices, containerising everything
Misc: Linux, bit of Unity, some actual physics and maths, using Fourier Transforms a bit too much
Software Engineer for MeerTRAP project / The University of Manchester
(2018 – now)
I am developing and maintaining parts of the processing and post-processing pipelines using C++ and Python accelerated with GPUs. I am mainly involved in the development of the post-processing stages of the candidate transients. This is achieved with the help of a highly-optimised GPU-aware pipeline responsible for producing the final detection products and running ML classification.
PhD Astronomy and Astrophysics / The University of Manchester
(2014 – 2018)
Thesis title: Exploring the dynamic radio sky with many-core high-performance computing
I was looking into the use of High Performance Computing, with the focus on GPU computing in the pulsar and radio transient searches. I am mainly interested in single pulse detection techniques and the influence of the interstellar and intergalactic medium on the properties of the electromagnetic radiation.
Summer Intern / Space Telescope Science Institute
(June 2013 – August 2013)
I was working on porting and profiling portions of the data processing pipeline used, for example, by the Hubble Space Telescope to Intel Xeon Phi accelerators.