Manupa Karunaratne is a Principal Engineer specializing in AI compilers with eight years of experience spanning circuit-level design to compiler and runtime optimizations. Based in Cambridge, he has driven ML compilation for ARM and AMD accelerators—contributing upstream to Apache TVM and key MLIR work in IREE and rocMLIR—focusing on attention kernels, vector distribution, and memory-reuse optimizations that boost parallel performance. His PhD work produced novel CGRA architectures and tooling that informed later chip tapeouts and low-power many-core designs, giving him rare fluency across RTL, architecture simulation, and compiler codegen. A proven open-source maintainer and committer, he blends deep research insight with production-grade engineering to solve hardware-software co-design challenges, and often surfaces compiler fixes that enable real-world ML workloads on constrained devices.
8 years of coding experience
7 years of employment as a software developer
Bachelor of Science of Engineering (B.Sc.Eng) Electronics and Telecommunications Engineering, Bachelor of Science of Engineering (B.Sc.Eng) Electronics and Telecommunications Engineering at University of Moratuwa
High School Advanced Level : Mathematics Physics and Chemistry, High School Advanced Level : Mathematics Physics and Chemistry at D.S.Senanayakee Collegee
Diploma in Management Accounting - CIMA Exams Completed, Diploma in Management Accounting - CIMA Exams Completed at Achievers Lanka Business School
Doctor of Philosophy (PhD) Computer Science, Doctor of Philosophy (PhD) Computer Science at National University of Singapore
Contributions:717 reviews, 47 commits, 154 PRs in 2 years 3 months
Contributions summary:Manupa rewrote and modified the Graph Partitioner in the Relay module to support multiple outputs in the deep learning compiler stack. They implemented the necessary changes to support disjoint annotated regions, ensuring functions are created for annotated regions. The user also made codestyle improvements and fixed issues related to tuple outputs in the PartitionGraph, resulting in a more robust deep learning compilation pipeline. They added code and made edits related to workspace allocation in the AoT executor.
A retargetable MLIR-based machine learning compiler and runtime toolkit.
Role in this project:
Back-end Developer
Contributions:72 reviews, 37 PRs, 17 pushes in 8 months
Contributions summary:Manupa primarily contributed to the IREE compiler project, focusing on the LLVMGPUVectorDistribute and LinalgExt dialects. Their work involved refactoring existing code, such as the AttentionOpDetail struct, and implementing distribution of vector operations like `vector.step` and `vector.contract`. They also introduced shared memory reuse and improved the distribution of multi-reductions across subgroups. These changes indicate a strong focus on performance optimization and parallelization within the compiler infrastructure.
compilermachine-learningmlirvulkantensorflow
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.