Halide is a new programming language for image processing, applicable to many vision algorithms and applications, and now in widespread use at companies and research labs. With a small amount of Halide you can write a faster matrix multiply than Eigen, a faster Fourier transform than FFTW, and a faster Gaussian blur than OpenCV (we'll code this live in the tutorial!).
The tutorial will introduce you to the core concepts in Halide, and demonstrate how to use Halide to productively write high-performance image processing code using several example pipelines.
Jonathan Ragan-Kelley is a postdoc in computer science at Stanford, where he works with Pat Hanrahan. His work focuses on high-efficiency computer graphics, at the intersection of graphics with systems, architecture, and compilers. He did his PhD with Frédo Durand and Saman Amarasinghe at MIT CSAIL, has worked at all three major GPU vendors in architecture, software, compilers, and research, and built a real-time preview system for the special effects industry in collaboration with Industrial Light & Magic.
Andrew Adams works on Halide at Google. Halide is currently used in several Google products, including "HDR+" on Nexus phones and "auto-enhance" in Google+ Photos. Before Google, he was a postdoc at MIT with Fredo Durand. Andrew did grad school at Stanford, where he worked on computational photography under Marc Levoy. His dissertation describes algorithms for fast bilateral filtering. While at Stanford, he also worked on the "frankencamera" and the FCam API. Andrew also enjoys woodworking, gaming, and describing himself in the third person.
Dillon Sharlet works on Halide at Google. Before Google, he was an engineer at Intel, working on compilers for general purpose GPU code; and he has also previously worked on high-performance image and video processing software running on GPUs.
The slides presented in the tutorial can be found here:
If you missed the CVPR tutorial, or want a head start learning Halide, see our online tutorials.