My research field is Computational Radiative Transfer. I write code for GPUs, accelerating ray tracing in computer simulations of the Universe's 14 billion year history. This lets us accurately model the effects of radiation emitted by the first stars, appearing about five hundred million years after the Big Bang.
Most of my PhD has been spent writing high-performance CUDA code for NVIDIA GPUs, working in a Linux environment. I use git for version control; Python, numpy and matplotlib for analysis and publication-quality plots; and matlab for quick-and-dirty graphing. Writing for astronomy journals necessitates a high proficiency in LaTeX.
I have an advanced skill set in CUDA-C
I have an advanced skill set in git
I have an intermediate skill set in *nix
I have an intermediate skill set in HTML5/CSS3
I have an advanced skill set in Python
I have an intermediate skill set in LaTeX
I have a beginner skill set in Java
I have a beginner skill set in jQuery
Projects I've worked on
GRACE: GPU-Accelerate Ray Tracing for Astrophysics has been my main focus over the past few years. It implements many of the recent advances computer graphics researchers have brought to GPU ray tracing, but in an astrophysical context. GRACE's performance-per-watt and performance-per-£ exceeds that of even threaded, well-optimized CPU codes by approximately a factor of 10. For our applications, GRACE also out-performs NVIDIA's excellent GPU ray tracing engine, OptiX.
Exoplanet Virtual Observatory
A collaborative project between various postgrads and postdocs at the Royal Observatory Edinburgh, this Android app is an educational tool aimed at secondary education students. It teaches the basics of exoplanet detection methods (transits and radial velocity measurements), coupling an intuitive 3D representation of a planetary system with the same graphs astronomers deal with. My main contribution is the OpenGL component (the 3D graphics).
Solar System Lecture Series
The University of Edinburgh's Office of Life-Long Learning allows departments to offer lecture courses to the general public. In 2014, as part of a team of three, I helped develop a brand-new course, focussing on our Solar System. This course ran in 2014/2015, and will continue in 2015/2016. My topics include a tour of the planets, their atmospheres and the Aurora Borealis; comets, asteroids and impacts; and exoplanets.
I am a badged instructor for the Software Carpentry Foundation, an organization specializing in bringing good software development practices to scientists. All of SWC's lesson material is open source. Training involves a study of learning theory, making a contribution to the current SWC content and instructing at a 'bootcamp'. I covered git and basic Python at ETH Zurich in February 2014.
Most recently, I was lucky enough to present at GTC GPU Technology conference 2015 in San Jose, California. You can watch the talk here that I gave at GTC 2015, or just download the PDF that I presented at GTC 2015.
An older version of the above talk was given in September 2014, at the Perspectives of GPU Computing in Astronomy and Astrophysics meeting in Rome, Italy. You can download the PDF here of the talk I gave in Rome.
I've designed and presented posters describing GRACE at several internal conferences and events. You can download the PDF (of a dense version) here of a poster I presented on my work.
A work in progress. Check back here in summer 2017.