Mullapudi, Ravi Teja and Vasista, Vinay and Bondhugula, Uday (2015) PolyMage: Automatic Optimization for Image Processing Pipelines. In: ACM SIGPLAN NOTICES, 50 (4). pp. 429-443.
PDF
ACM_Sig_Not_40-4_429_2015.pdf - Published Version Restricted to Registered users only Download (1MB) | Request a copy |
Abstract
This paper presents the design and implementation of PolyMage, a domain-specific language and compiler for image processing pipelines. An image processing pipeline can be viewed as a graph of interconnected stages which process images successively. Each stage typically performs one of point-wise, stencil, reduction or data-dependent operations on image pixels. Individual stages in a pipeline typically exhibit abundant data parallelism that can be exploited with relative ease. However, the stages also require high memory bandwidth preventing effective utilization of parallelism available on modern architectures. For applications that demand high performance, the traditional options are to use optimized libraries like OpenCV or to optimize manually. While using libraries precludes optimization across library routines, manual optimization accounting for both parallelism and locality is very tedious. The focus of our system, PolyMage, is on automatically generating high-performance implementations of image processing pipelines expressed in a high-level declarative language. Our optimization approach primarily relies on the transformation and code generation capabilities of the polyhedral compiler framework. To the best of our knowledge, this is the first model-driven compiler for image processing pipelines that performs complex fusion, tiling, and storage optimization automatically. Experimental results on a modern multicore system show that the performance achieved by our automatic approach is up to 1.81x better than that achieved through manual tuning in Halide, a state-of-the-art language and compiler for image processing pipelines. For a camera raw image processing pipeline, our performance is comparable to that of a hand-tuned implementation.
Item Type: | Journal Article |
---|---|
Publication: | ACM SIGPLAN NOTICES |
Publisher: | ASSOC COMPUTING MACHINERY |
Additional Information: | Copy right for this article belongs to the ASSOC COMPUTING MACHINERY, 2 PENN PLAZA, STE 701, NEW YORK, NY 10121-0701 USA |
Keywords: | Domain-specific language; image processing; polyhedral optimization; locality; parallelism; tiling; multicores; vectorization |
Department/Centre: | Division of Electrical Sciences > Computer Science & Automation |
Date Deposited: | 02 Apr 2016 06:15 |
Last Modified: | 02 Apr 2016 06:15 |
URI: | http://eprints.iisc.ac.in/id/eprint/53564 |
Actions (login required)
View Item |