Guided Optimization for Image Processing Pipelines
Yuka Ikarashi, Jonathan Ragan-Kelley, Tsukasa Fukusato, Jun Kato,, Takeo Igarashi

TL;DR
This paper introduces guided optimization, a support method for Halide programmers that offers valid options and feedback to simplify writing high-performance image processing code, demonstrated through a system called Roly-poly.
Contribution
It proposes a novel guided optimization approach with an interactive system that improves understanding and productivity in developing optimized image processing pipelines.
Findings
Roly-poly enhances programmer understanding of scheduling strategies.
Guided optimization increases development speed and schedule quality.
User study confirms improved productivity and schedule performance.
Abstract
Writing high-performance image processing code is challenging and labor-intensive. The Halide programming language simplifies this task by decoupling high-level algorithms from "schedules" which optimize their implementation. However, even with this abstraction, it is still challenging for Halide programmers to understand complicated scheduling strategies and productively write valid, optimized schedules. To address this, we propose a programming support method called "guided optimization." Guided optimization provides programmers a set of valid optimization options and interactive feedback about their current choices, which enables them to comprehend and efficiently optimize image processing code without the time-consuming trial-and-error process of traditional text editors. We implemented a proof-of-concept system, Roly-poly, which integrates guided optimization, program…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Teaching and Learning Programming · Cloud Computing and Resource Management
