ACM SIGPLAN Notices· 2013
Halide
- 494citations
- 2013year
Short summary
The Halide language and its optimizing compiler achieve up to 5x performance gains over expert-tuned C, intrinsics, and CUDA for image processing pipelines by systematically modeling and optimizing the tradeoff space between parallelism, locality, and recomputation.
AI-generated from the title and abstract; the full text is not read.
Key points
- Halide provides a systematic model for optimizing image processing pipelines, which are challenging stencil computations.
- The Halide compiler synthesizes high-performance implementations by optimizing parallelism, locality, and recomputation.
- Stochastic search over schedule spaces allows Halide to achieve state-of-the-art performance on various hardware architectures (multicore, CPU+GPU).
- Halide programs achieve up to 5x speedup compared to hand-tuned C, intrinsics, and CUDA implementations.
AI-generated from the title and abstract; the full text is not read.
Abstract
Image processing pipelines combine the challenges of stencil computations and stream programs. They are composed of large graphs of different stencil stages, as well as complex reductions, and stages with global or data-dependent access patterns. Because of their complex structure, the performance difference between a naive implementation of a pipeline and an optimized one is often an order of magnitude. Efficient implementations require optimization of both parallelism and locality, but due to the nature of stencils, there is a fundamental tension between parallelism, locality, and introducing redundant recomputation of shared values. We present a systematic model of the tradeoff space fundamental to stencil pipelines, a schedule representation which describes concrete points in this space for each stage in an image processing pipeline, and an optimizing compiler for the Halide image processing language that synthesizes high performance implementations from a Halide algorithm and a schedule. Combining this compiler with stochastic search over the space of schedules enables terse, composable programs to achieve state-of-the-art performance on a wide range of real image processing pipelines, and across different hardware architectures, including multicores with SIMD, and heterogeneous CPU+GPU execution. From simple Halide programs written in a few hours, we demonstrate performance up to 5x faster than hand-tuned C, intrinsics, and CUDA implementations optimized by experts over weeks or months, for image processing applications beyond the reach of past automatic compilers.
The authors' abstract, as published at the source. ACM SIGPLAN Notices, 2013 · DOI ↗
Continue with a free account
Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.
Continue free on the webSign in with Google or Apple; no card needed. You come back to this paper.
On your phone:
Field: Hardware and Architecture
Hardware and ArchitectureComputer Science