I’m a Ph.D. candidate at UW CSE. I work with the Sampa group and my advisors, Luis Ceze and Dan Grossman, on energy-efficient computing through the lenses of programming languages and computer architecture. I’m interested in programming models that trade off correctness guarantees for energy efficiency, something we call disciplined approximate computing. I have worked on the EnerJ approximation-aware programming language, the Truffle dual-voltage architecture, and approximate accelerators based on neural networks.
I am supported by a 2012–2013 Facebook Ph.D. fellowship. I graduated from Harvey Mudd College in 2009. In the summer of 2010, I was at Qualcomm BARD and, in 2012, I worked with Karin Strauss in Microsoft Research’s XCG. This summer, I’ll be at MSR again, this time in MSR Redmond. Here’s my CV.
Lots of research projects need to instrument code while it gets compiled. While LLVM passes are a convenient way to implement instrumentation, the official LLVM documentation doesn’t make it clear how to use them that way easily. Here’s a trick that lets you instrument programs when compiling them with the Clang command-line compiler driver.