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 »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 »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 …
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 »Continue reading »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 …
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 »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 »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 »