We presented DelayRepay: Delayed Execution for Kernel Fusion in Python at the Dynamic Languages Symposium 2020. DLS was supposed to be in Chicago, but alas. The long and short of the paper is that if we trace calls on a NumPy array and delay the execution until needed, we can fuse these calls together when we execute them on a GPU, resulting in improved performance. I’ll include the abstract: Python is a popular, dynamic language for data science and scientific computing.

Yet Another New Site

Here’s another new site again. Why have you done this? I bought a new domain, and thought it was time to update my personal brand… What’s with the .ai domain? I wanted a morton.tld vanity domain, to avoid redundancy in email addresses. was the only one available on an appropriate tld that was not extortionately expensive. I can pretend I’m a hip ML researcher now. How is the site built?


I am a Research Associate at the School of Informatics at the University of Edinburgh, working in the Compiler and Architecture Design Group within the Institute for Computing Systems Architecture. I’m currently looking at Data-Centric Parallisation - automatic parallelisation by analysing and abstracting a program’s data structures.