Experience
See full journey-
Senior Software Engineer, AI Frameworks
Upstream Lead for Arm's Tool Solutions ML framework distributions. Integrate contributions across PyTorch, oneDNN, Arm Compute Library, and OpenBLAS into shippable Arm-optimised builds.
-
Senior Imaging Algorithms Engineer
Built imaging algorithms and engineering tooling for Arm's ISP pipeline. C++/LibTorch performance work, RGB reconstruction for automotive RGB-IR sensors, and Python wrappers for low-level imaging libraries.
-
PhD in Applied Mathematics
Numerical computation of time-periodic solutions to PDEs, applied to nonlinear fluid dynamics. Published in the Journal of Fluid Mechanics.
Selected Impact
See projects- 01 Upstream Tool Solutions
Lead the framework release path
Integrate PyTorch, oneDNN, Arm Compute Library, and OpenBLAS contributions into Arm-optimised framework builds.
PyTorchoneDNNACLOpenBLAS - 02 Inference LLaMA
Route hot paths through optimised kernels
Upstreamed oneDNN changes that dispatch LLaMA matmul plus JIT post-op through Arm Compute Library instead of the reference path.
matmulJIT post-opACL - 03 Release AArch64
Restore public binary distribution
Brought Docker releases back online by clearing SBOM, vulnerability handling, threat modelling, and release-governance bottlenecks.
SBOMPolicyDocker - 04 Imaging 2-10x
Move IQ metrics out of Python overhead
Reimplemented Python/PyTorch image-quality metric scripts in C++ with LibTorch while preserving the same metric behavior.
PythonLibTorchC++ - 05 Tooling cmakefmt
Ship a fast formatter
A Rust CMake formatter with command specs, editor integrations, and CI-friendly flags for real build-system workflows.
ParserLSPEditors
Research & Publications
Completed a PhD in applied mathematics at the University of Manchester, focused on fluid dynamics and numerical methods for time-periodic solutions of PDEs.
For modest Reynolds numbers (Re ≤ 100), a fixed cylinder sheds vortices in a classical 2S pattern — the Kármán vortex street. When the cylinder oscillates with a period close to the natural shedding frequency, increasing the oscillation amplitude triggers a transition to a different, asymmetric wake (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.
Why symmetric oscillations can create asymmetric wakes works through the answer end to end — the bifurcation diagram, the isolas, the numerical method, and an interactive scrubber across the asymmetric branch.
ORCID 0000-0001-9359-9814
- Topological bifurcations in the transition from two single vortices to a pair and a single vortex in the periodic wake behind an oscillating cylinder Journal of Fluid Mechanics
- Exotic wakes of an oscillating circular cylinder: how singles pair up Journal of Fluid Mechanics — invited commentary by Kerry Hourigan on the 2021 paper
- Spatio-temporal symmetry breaking in the flow past an oscillating cylinder Journal of Fluid Mechanics — lead author
- Direct computation of time-periodic solutions of PDEs University of Manchester