Hardware Engineer


August 2018 – Present Seattle Area, WA

Research Assistant

Carnegie Mellon University

May 2013 – August 2013 Pittsburgh, PA
My work focussed on improving methods for inference in Bayesian probabilistic graphical models, specifically, grid-like Markov random fields. I explored a variety of improvements to inference algorithms from the point of view of hardware implementation.

Research Assistant

Ecole de Technologie Superieure

May 2011 – July 2011 Montreal, QC
My work involved designing and prototyping a multi-touch user interface for network visualization. Most of my work focussed on designing new and innovative gestures for network layout manipulation. I also conducted experiments to develop empirical laws predicting speed and accuracy of pointing and tossing gestures using a mouse.

Recent Publications

We present Versatile Inference Processor (VIP), a highly programmable architecture for machine learning inference. VIP consists of 128 …

Maximum a posteriori probability (MAP) inference on Markov random fields (MRF) is the basis of many computer vision applications. …

Vertex-centric graph computations are widely used in many machine learning and data mining applications that operate on graph data …

Recent Posts

2019 marks a few anniversaries. It is the 50th anniversary of the moon landings. It also marks fifty years since the end of Gene …

CMake is cross-platform build and configuration system for C and C++ code, which also happens to be my favourite build system. In this …

I’ve seen way too many projects that supply a makefile that requires the user to run make clean and make every single time they …

Today, my website displays a banner to join the fight for an open internet. My message to the FCC follows.

I’m back from the 44th International Symposium on Computer Architecture, and this is a perfect time for me to summarise my …



LDPC decoding using residual BP

A study of the effects of residual belief propagation as applied to LDPC decoding

High-level synthesis of a belief propagation accelerator

Using Vivado-HLS to rapidly prototype and test accelerators


Emotion detection from images

Active noise-cancelling headphones

Low-cost analogue active noise cancelling headphones


Car make and model detection

Text-independent speaker verification

Artificial neural networks to identify users from speech

Text-dependent speaker verification

Matching spoken text to identify users on an Atmel AVR microcontroller