Senior Compiler Engineer
I maintain and optimize an LLVM toolchain for an embedded RISC-V CPU with custom extensions.
UKBASED IN THE UK
I’m a compiler engineer at NVIDIA.
I work on LLVM and RISC-V. Here you’ll find my research and a few things I’ve built outside work.
(module
(func (export "twice")
(param $x i32) (result i32)
local.get $x
i32.const 2
i32.mul))slliw a0, a0, 1 li t2, 0 ret ; machine-code bytes 1b 15 15 00 93 03 00 00 67 80 00 00
A saved example from qwac, my WebAssembly compiler.
Compile a program to see the output.
Runs on your device. Nothing is uploaded.
Implemented: i32/i64 operations, scalar floats, structured control flow, direct and recursive calls, globals, a static function table, and one memory32 with scalar loads/stores.
Missing: imports/WASI, start functions, memory.grow, mutable tables, bulk memory, SIMD, atomics/threads, exceptions, and references beyond static function tables.
This demo generates native code; it doesn’t execute it. RISC-V uses the integer-only IM baseline; scalar floats are available with AArch64.
01
LLVM toolchains for RISC-V CPUs.
I maintain and optimize an LLVM toolchain for an embedded RISC-V CPU with custom extensions.
UKLed LLVM/Clang toolchain optimization for RISC-V CPU cores and contributed upstream to LLVM. Worked on compiler passes, instruction selection, and scheduling.
Hertfordshire, UK02
RISC-V cores, a WebAssembly compiler,
and a few useful browser tools.
A small multicycle RISC-V core written in SystemVerilog.
View on GitHub RISC-V / SPINALHDLA configurable RISC-V core in SpinalHDL. The next version of SuroV.
View on GitHub WEBASSEMBLY / COMPILERA small, single-pass WebAssembly compiler for RISC-V and AArch64.
View on GitHubPrayer times for your location, calculated on your device.
Explore Bangladesh’s 2026 election candidates, one constituency at a time.
M. Nurul-Hoque & K. A. Harras
IEEE Communications Standards · 6(2), 45–52M. Nurul-Hoque & K. A. Harras
IEEE International Conference on Cloud Engineering · 178–189A. Essameldin, M. N. Hoque & K. A. Harras
IEEE/ACM Symposium on Edge Computing · 324–33604
I studied Computer Science at Carnegie Mellon University. Before joining NVIDIA, I worked on RISC-V compilers at Imagination Technologies.
I like understanding how things work, then having a go at building them myself. That’s how most of my side projects start.
B.Sc. Computer Science · GPA 3.96 / 4.0
Qatar Campus Scholar · College & University Honors · Full scholarshipC / C++ · RISC-V Assembly · Python
Rust · Verilog · LLVM
Git · CMake · Jenkins
English · Arabic
Chittagonian · Bengali
SAY HELLO