The DOI matches its Crossref record; 20 of the 20 references it cites were found in a registry or an index.
Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines
Open accessAbstract
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.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
SPIRAL: Code Generation for DSP Transforms
Puschel, M., Moura, J. M. F., Johnson, J. R., Padua, D., Veloso, M. M., Singer, B. W., Xiong, J., Franchetti, F., Gacic, A., Voronenko, Y., et al. (2005) · Proceedings of the IEEE · doi:10.1109/jproc.2004.840306 · Cited by 826
Memory---Sequoia: programming the memory hierarchy
Fatahalian, K., Dally, W. J., Hanrahan, P., Horn, D. R., Knight, T. J., Leem, L., Houston, M., Park, J. Y., Erez, M., Ren, M., et al. (2006) · Proceedings of the 2006 ACM/IEEE conference on Supercomputing - SC '06 · doi:10.1145/1188455.1188543 · Cited by 452
Real-time edge-aware image processing with the bilateral grid
Chen, J., Paris, S., & Durand, F. (2007) · ACM Transactions on Graphics · doi:10.1145/1276377.1276506 · Cited by 395
Self-citationLocal Laplacian filters: edge-aware image processing with a Laplacian pyramid
Paris, S., Hasinoff, S. W., & Kautz, J. (2011) · ACM Transactions on Graphics · doi:10.1145/2010324.1964963 · Cited by 384
Self-citationPetaBricks: a language and compiler for algorithmic choice
Ansel, J., Chan, C., Wong, Y. L., Olszewski, M., Zhao, Q., Edelman, A., & Amarasinghe, S. (2009) · Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation · doi:10.1145/1542476.1542481 · Cited by 355
Self-citationTang, Y., Chowdhury, R. A., Kuszmaul, B. C., Luk, C.-K., & Leiserson, C. E. (2011) · Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures · doi:10.1145/1989493.1989508 · Cited by 337
A stream compiler for communication-exposed architectures
Gordon, M. I., Thies, W., Karczmarek, M., Lin, J., Meli, A. S., Lamb, A. A., Leger, C., Wong, J., Hoffmann, H., Maze, D., et al. (2002) · Proceedings of the 10th international conference on Architectural support for programming languages and operating systems · doi:10.1145/605397.605428 · Cited by 337
Self-citation3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs
Nguyen, A., Satish, N., Chhugani, J., Kim, C., & Dubey, P. (2010) · 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis · doi:10.1109/sc.2010.2 · Cited by 290
Brook for GPUs: stream computing on graphics hardware
Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., & Hanrahan, P. (2004) · ACM SIGGRAPH 2004 Papers · doi:10.1145/1186562.1015800 · Cited by 254
Decoupling algorithms from schedules for easy optimization of image processing pipelines
Ragan-Kelley, J., Adams, A., Paris, S., Levoy, M., Amarasinghe, S., & Durand, F. (2012) · ACM Transactions on Graphics · doi:10.1145/2185520.2185528 · Cited by 251
Self-citation
Cited by
FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness
Dao, T., Fu, D. Y., Ermon, S., Rudra, A., & Ré, C. (2022) · arXiv · doi:10.48550/arxiv.2205.14135 · Cited by 1,214
Heterogeneous Dataflow Accelerators for Multi-DNN Workloads
Kwon, H., Lai, L., Pellauer, M., Krishna, T., Chen, Y.-H., & Chandra, V. (2021) · 2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA) · doi:10.1109/hpca51647.2021.00016 · Cited by 144
Metadata
- Authors
- Ragan-Kelley, J., Barnes, C., Adams, A., Paris, S., Durand, F., & Amarasinghe, S.
- Venue
- ACM SIGPLAN Notices
- Published
- 2013-06-16
- Volume
- 48
- Issue
- 6
- Pages
- 519-530
- ISSN
- 0362-1340 (ISSN-L)
- 1558-1160
- OpenAlex
- W4251637954
- Cited by
- 513
- References
- 20
- FWCI
- 17.42
- Type
- journal article
- Language
- en
- Open access
- green
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. https://app.cochat.ai/papers/10.1145/2499370.2462176
- The paper
- Ragan-Kelley, J., Barnes, C., Adams, A., Paris, S., Durand, F., & Amarasinghe, S. (2013). Halide: a language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines. ACM SIGPLAN Notices. https://doi.org/10.1145/2499370.2462176
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.