About MeBlogPapers

I'm Giving an Invited Talk on Halide at ASPLOS 2025!

Fri 28 March 2025

I'm honored to be giving an invited talk at the inaugural User-Schedulable Languages (USL) workshop, part of ASPLOS 2025. If you'll be in Rotterdam for the conference, come say hi!

My talk, titled "Halide: Industrial Experience, Design Retrospective, and Future Directions," is scheduled for 11:20 AM local time and …

Continue reading »

I'm at Adobe now!

Tue 28 May 2024

It's been a while since I updated my website, or published anything on my blog, but there's no time like the present... yes, this announcement is back-dated.

As of today, I'm a Research Scientist/Engineer at Adobe! I'm working full-time on Halide research and engineering now. I've got two projects …

Continue reading »

I Finished my Ph.D.!

Thu 22 December 2022

It took six and a half years, but I'm happy to announce that I finally got my Ph.D. in Computer Science. Hooray! As I write this, I'm starting a short-term post-doc at MIT to wrap up a few research projects, but I'm actively applying to jobs. If you have …

Continue reading »

How to Use CMake Without the Agonizing Pain - Part 2

Mon 31 May 2021

Welcome back to Part 2 of this series! I was very happy to see the warm reception Part 1 got over on /r/cpp. Before we get started, I thought I would take this opportunity to clarify a couple of points about this series.

First, this series is not a …

Continue reading »

How to Use CMake Without the Agonizing Pain - Part 1

Sat 22 May 2021

When age fell upon the world, and wonder went out of the minds of men; when grey cities reared to smoky skies tall towers grim and ugly, in whose shadow none might dream of the sun or of spring's flowering meads; when learning stripped earth of her mantle of beauty …

Continue reading »

Building a Faster Triangular Solver than MKL

Sat 20 March 2021

A significant part of my research involves investigating algorithms with interesting properties and then trying to optimize them to fully understand how they work. One recent, and fairly successful, exploration was into triangular substitution solvers. In this blog post, I'm going to explain the …

Continue reading »

CMake IS a Build System

Sat 13 March 2021

One of the most common things you'll hear when learning CMake is that "CMake is not a build system". This is technically correct, depending on one's definition of a "build system". However, this statement alone is meaningless on a practical level as it doesn't communicate anything actionable regarding how to …

Continue reading »

Building a Dual Shared and Static Library with CMake

Sat 06 March 2021

When packaging software libraries, it is a common requirement to deploy both a static and a shared version. However, CMake library targets are always either one or the other. How do we make it easy for our …

Continue reading »