Upstream ML stack integration
Helped ship bleeding-edge ML framework builds for Arm CPUs by pulling together upstreamed changes across the stack (PyTorch, oneDNN, Arm Compute Library, OpenBLAS) into Tool Solutions.
...with deep roots in imaging algorithms and applied mathematics (computational fluid dynamics).
I work on optimising machine learning (ML) workloads for Arm CPUs. Much of my work sits in and around open-source ML frameworks such as PyTorch, oneDNN, and Arm Compute Library, spanning performance optimisation, build and release tooling, and upstream enablement.
Before moving to the AI Frameworks team, I worked on imaging algorithms across the ISP pipeline and embedded ML, which inspired my love for photography.
Before Arm, I completed a PhD in Applied Mathematics, focused on computational fluid dynamics and large-scale numerical methods.
Outside of work, I'm a part-time maintainer of
oomph-lib, an open-source finite-element library for PDEs, where I rewrote the project's Autotools
build system in CMake from scratch.
Helped ship bleeding-edge ML framework builds for Arm CPUs by pulling together upstreamed changes across the stack (PyTorch, oneDNN, Arm Compute Library, OpenBLAS) into Tool Solutions.
Unblocked external delivery of Docker images by working through compliance requirements (SBOM maintenance, release process, security expectations) and then automating the boring parts.
Made builds faster (including ~2.7× CI improvements in places) by improving build tooling and contributing upstream where needed.
Investigated and fixed performance issues in the PyTorch → oneDNN → Arm Compute path (e.g. enabling dispatch paths) to improve real model workloads.
I completed my PhD in applied mathematics at the University of Manchester, with a focus on fluid dynamics and the numerical solution of time-periodic solutions to partial differential equations (otherwise known as PDEs).
For modest Reynolds numbers (Re ≤ 100), a fixed cylinder sheds vortices in a classical 2S pattern, known widely as the Kármán vortex street. When the cylinder oscillates with a period close to the natural shedding frequency, increasing the oscillation amplitude leads to a transition to a different, asymmetric wake pattern (the P+S pattern). A central question of the thesis was whether this transition arises through a continuous (topological) evolution of the flow or via bifurcations of the Navier–Stokes equations.
ORCID: 0000-0001-9359-9814
Looking to collaborate? Let's talk.