Academically, I am a computer architect. I study the design of the hardware components that efficiently solve problems written in software. My research has been recognized with an NSF Career Award in 2020, an NVIDIA graduate fellowship in 2013, best paper nominations at MICRO 2012, PPoPP 2017 and ISPASS 2021, an IEEE Micro Top Picks in Computer Architecture in 2013, as a Communications of the ACM Research Highlight in 2014, and my PhD thesis was nominated for the Governor General of Canada’s Gold Medal and the 2016 ACM Doctoral Dissertation Award. My teaching has been recognized with multiple Outstanding Engineering Teacher citations, the 2018 Ruth and Joel Spira Award for Excellence in Teaching, the 2020 Hesselberth Award for Teaching Excellence, and the 2022 College of Engineering Excellence in Early Career Teaching Award. I completed my PhD in Computer Architecture at the University of British Columbia in 2015. During the course of my PhD, I interned for the research divisions of both AMD and NVIDIA, where I worked on the design of future GPU computing microarchitectures. Prior to entering graduate school, I worked as a software engineer at Electronic Arts where I gained insight into how industrial software is really made.
PhD in Computer Engineering, 2015
University of British Columbia
BEng in Honours Electrical Engineering, 2005
McGill University
We propose a novel mechanism to enable efficient runtime function calls on massively multithreaded GPUs by dynamically allocating register space to adhere to callee-saved ABI conventions.
We propose the Hierarchical Search Unit, a generalization of the GPU’s Ray Tracing Unit that accelerates the traversal of data with diverse dimensions and characteristics.
We introduce a thread fusion framework that takes arbitrary mutlti-treaded MIMD CPU programs and estimates their performance and runtime characteristics on SIMT hardware.
We propose a new simulation infastructure capable of executing advanced graphics shaders alongsise optimized compute kernels.