Merseyside, England, United Kingdom
SMTS Software Engineer in AMD's Machine Learning Framework Group. - Optimising AMDGPU performance in open-source Machine Learning frameworks, primarily PyTorch. - Develop ROCm support for TorchInductor using AMD Triton backend.
MTS Software Engineer in AMD's Machine Learning Framework Group. - Optimising AMDGPU performance in open-source Machine Learning frameworks, primarily PyTorch. - Develop ROCm support for TorchInductor using AMD Triton backend.
Sr. Software Engineer as part of AMD Machine Learning Software Engineering (MLSE) team - Optimise deep learning frameworks (Pytorch) on AMD GPUs in upstream open-source repositories - Collaborate with internal GPU library teams to analyse and optimise deep learning training & inference - Work with open-source framework maintainers to understand their requirements and integrated changes upstream - Work in distributed computing setting for both scale-up (multi-GPU) and scale-out (multi-node) systems
EPSRC CDT in Distributed Algorithms in partnership with Sivanathan Laboratories. Projected titled "Optimized Sampling Approaches for Compressive Sensing in Multi-Dimensional Datastreams" involving using machine-learning based Compressive Sensing approaches to determine the minimal sub-sampling required in hyperspectral imaging technologies such as scanning electron transmission microscopes. • Development of a framework for hyperspectral image reconstruction using Bayesian Dictionary Learning methods. • Development of a Deep Learning solution for blind denoising of hyperspectral images using Pytorch/Tensorflow. Supervised by Prof Ke Chen, Prof Yalin Zheng and Prof Nigel Browning.
In 2018, I joined the High Performance Software Engineering group at the Hartree Centre. My primary focus was the development of parallel codes that are highly scalable and performant on modern (petascale) supercomputing hardware. This involved porting of serial and parallel software to modern CPU architectures to improve runtime and scalability, developing implementations for accelerated platforms such as GPUs (utilising direct and novel directive-based frameworks) and the Intel Xeon Phi, and in-depth profiling to analyse inter/intra performance in codes by using open source and commercial tools deploying instrumented and sampling approaches. The projects that I developed codes for involved collaborating with both industrial and academic partners. Some examples of these are listed below (as well as related publications): • Development of highly scalable Bayesian Inference algorithms for Data Science with hybrid MPI and OpenMP parallel programming methods and novel multi-GPU implementations using OpenMP4.5+ (https://ieeexplore.ieee.org/document/9158397) • Development of a benchmark code for comparing modern GPU frameworks as part of a collaboration with UK's Collaborative Computation Projects (CCPs) and High-End Computing Consortia (HECs) (https://epubs.stfc.ac.uk/work/49338008) • Deployment of Deep Learning methods for image processing and thorough exploration of the use of Deep Learning based surrogate models in physical sciences - (https://epubs.stfc.ac.uk/work/48837027)
Crowd management at home matches at Liverpool football club as a matchday steward.
• Hull Immersive Visualisation Environment internship in the Department of Computer Science. • Developing virtual reality applications in Unity3D and Unreal Engine for Oculus Rift and Google Cardboard. • Mobile application development in Android Studio for controlling remote desktop applications. Including multithreaded code development in Java and networking layer.