Guided Optimization for Image Processing Pipelines

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Ikarashi, Yuka, Ragan-Kelley, Jonathan, Fukusato, Tsukasa, Kato, Jun, Igarashi, Takeo
Format: Preprint
Published: 2021
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916471293083648
author Ikarashi, Yuka
Ragan-Kelley, Jonathan
Fukusato, Tsukasa
Kato, Jun
Igarashi, Takeo
author_facet Ikarashi, Yuka
Ragan-Kelley, Jonathan
Fukusato, Tsukasa
Kato, Jun
Igarashi, Takeo
contents 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 visualization, and schedule cost estimation to support the comprehension and development of efficient Halide image processing code. We conducted a user study with novice Halide programmers and confirmed that Roly-poly and its guided optimization was informative, increased productivity, and resulted in higher-performing schedules in less time.
format Preprint
id arxiv_https___arxiv_org_abs_2107_12567
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle Guided Optimization for Image Processing Pipelines
Ikarashi, Yuka
Ragan-Kelley, Jonathan
Fukusato, Tsukasa
Kato, Jun
Igarashi, Takeo
Human-Computer Interaction
Programming Languages
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 visualization, and schedule cost estimation to support the comprehension and development of efficient Halide image processing code. We conducted a user study with novice Halide programmers and confirmed that Roly-poly and its guided optimization was informative, increased productivity, and resulted in higher-performing schedules in less time.
title Guided Optimization for Image Processing Pipelines
topic Human-Computer Interaction
Programming Languages
url https://arxiv.org/abs/2107.12567