About
I recently finished an MSc in High Performance Computing at the University of Edinburgh (EPCC), where my thesis measured the time and energy cost of KV-cache offloading in LLM inference on H200 and GH200 systems. I’ve written more about it in this post. Before Edinburgh I spent two years as a software engineer at Abyss Solutions, building point-cloud analysis pipelines at scale.
I’m broadly interested in HPC and ML. More specifically:
- Systems: command submission, drivers, and the Linux side of GPUs and accelerators.
- Interconnects and memory hierarchy: PCIe, NVLink-C2C, CXL, and tiered memory.
- LLM inference: KV-cache management and offloading, hardware/software co-design.
I’m looking for PhD positions and engineering roles in these areas. The best way to reach me is email.
Education
MSc, High Performance Computing
2025 – 2026The University of Edinburgh · Predicted Distinction
Thesis: Profiling the Cost of KV Cache Offloading in LLM Inference. A low-latency C++ inference profiler that attributes energy cost to CPU–GPU interconnect stalls during KV-cache offload, benchmarked on H200 (PCIe) and GH200 (NVLink-C2C) systems.
Coursework: Performance Programming, Accelerated Systems, Machine Learning at Scale, Advanced Message Passing Programming, Numerical Algorithms, Threaded Programming, HPC Architectures.
BSc, Computer Science
2019 – 2023Habib University · CGPA 3.79/4.00
Dean's List in Fall 2022 and Spring 2021. Coursework in Computer Graphics, Image Processing, Deep Learning, and GPU-Accelerated Computing.
Experience
TeamEPCC — ISC High Performance Student Cluster Competition
Oct 2025 – Jun 2026The University of Edinburgh
- Represented the University of Edinburgh against 10 selected international teams.
- Optimised llama.cpp batched inference through source modification and performance analysis under a strict 6 kW power budget.
- Built a distributed parallel file system across 8 AMD EPYC client nodes with a GPU-node metadata backend and direct PCIe-attached NVMe targets, delivering 32 GB/s aggregate multi-client throughput.
Software Engineer
Jun 2023 – Jul 2025Abyss Solutions
- Architected a 3D scan coverage analysis workflow processing terabytes of LIDAR data, identifying unseen regions against CAD models.
- Cut an ML pipeline's processing time by 75% through point-cloud handling optimisations and AWS Batch array jobs.
- Built a cross-sectional analysis tool for mooring-chain photogrammetry, improving measurement accuracy from roughly 15% error to sub-millimetre precision.
- Migrated a legacy Bash data-reconciliation process to Python/Prefect, turning a two-day manual task into a five-minute automated one.
- Promoted from Junior (L3) to Level 4 Engineer, later serving as technical team lead for three developers.
- Built proof-of-concept tools in company hackathons, including mesh generation from TLS data, octree compression, and LIDAR scan-quality metrics (Abyssathon 8 winner).
Teaching Assistant, CS 440: Computer Graphics
Aug – Dec 2022Habib University
Taught weekly WebGL recitations covering GLSL, the graphics pipeline, Phong shading, mesh loading, and advanced topics including tone mapping, parallax, and shadows.
Selected Projects
C++ Design Patterns
Jun 2025A matrix multiplication library built around the Factory, Registry, and Meyers' Singleton patterns, with Eigen, tiled CUDA, and cuBLAS backends selected through a JSON config. New backends register themselves without modifying the factory.
CUDA Fast Voxel Traversal
Dec 2024A CUDA-accelerated ray casting system for point-cloud intersection testing, using Morton encoding and binary search optimisations.
GPU-Accelerated Gauss-Seidel Sparse Iterative Solver
May 2023Compared cuSPARSE CSRColor against the Brook-Vizing randomised colouring algorithm for preconditioning iterative SpMV, reordering elements to launch CUDA kernels in parallel.
Tools
C++ (including CUDA and Pybind), Python, CUDA, MPI, OpenMP, CMake, Linux, Bash, AWS, Git.