Graham Markall is a Principal Software Engineer with 15 years of experience building high-performance compilers, numerical methods, and GPU-accelerated tooling, currently at NVIDIA working on the RAPIDS ecosystem. He excels at backend performance engineering—optimising CUDA kernels, implementing on-disk and raw-kernel caching, and tightening memory management—which has delivered measurable speedups in projects like cuSignal and RMM. His open-source contributions to Numba, llvmlite, pycuda and cuDF show deep expertise in Python JIT compilation, LLVM integration and cross-platform build reliability. He pairs academic rigour (PhD from Imperial College) with practical systems work, having created a CUDA simulator for Numba and led toolchain ports at Embecosm. Equally comfortable in low-level C/C++ and high-level Python, he often bridges gaps between language runtimes and GPU hardware to make numerical code both faster and more debuggable. Based in Lincoln, he brings a habit of turning tricky pre-silicon and device-level problems into robust, well-tested developer-facing features.
15 years of coding experience
9 years of employment as a software developer
PhD. Computing, PhD. Computing at Imperial College London
BSc. (Hons) Computer Science, BSc. (Hons) Computer Science at The Manchester Metropolitan University
A lightweight LLVM python binding for writing JIT compilers
Role in this project:
Back-end Developer & DevOps Engineer
Contributions:251 reviews, 31 commits, 47 PRs in 7 years 11 months
Contributions summary:Graham contributed to the llvmlite project by addressing build issues on Windows, specifically related to Python 3.3 and PyPy environments. They added dependencies for PyPy on Linux and integrated PyPy master testing within the Travis CI pipeline. Furthermore, the user's work included updates to build scripts, changes in the setup for the conda environment, and adjustments to the installation documentation, reflecting a focus on improving build processes and cross-platform compatibility.
Contributions:1291 reviews, 1345 commits, 430 PRs in 8 years 4 months
Contributions summary:Graham made contributions to the Numba compiler, focusing on CUDA-related features and bug fixes. Their work involved implementing new functionality for the CUDA target, including support for on-disk caching, improvements to the handling of device functions, and adding tests for these features. They also refactored existing code and addressed various issues related to device code generation and memory management within the CUDA compilation process.
cudapythonparallelnumpynumba
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Graham Markall - Principal Software Engineer at NVIDIA