Affiliation:
1. MINES ParisTech, France
Abstract
We present an API-based compilation strategy to optimize image applications, developed using a high-level image processing library, onto three different image processing hardware accelerators. We demonstrate that such a strategy is profitable for both development cost and overall performance, especially as it takes advantage of optimization opportunities across library calls otherwise beyond reach. The library API provides the semantics of the image computations. The three image accelerator targets are quite distinct: the first one uses a vector architecture; the second one presents an SIMD architecture; the last one runs both on GPGPU and multicores through OpenCL. We have adapted standard compilation techniques to perform these compilation and code generation tasks automatically. Our strategy is implemented in PIPS, a source-to-source compiler which greatly reduces the development cost as standard phases are reused and parameterized. We carried out experiments with applications on hardware functional simulators and GPUs. Our contributions include: (1) a general low-cost compilation strategy for image processing applications, based on the semantics provided by library calls, which improves locality by an order of magnitude; (2) specific heuristics to minimize execution time on the target accelerators; (3) numerous experiments that show the effectiveness of our strategies. We also discuss the conditions required to extend this approach to other application domains.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference32 articles.
1. Code Generation for Expressions with Common Subexpressions
2. Aho A. V. Lam M. S. Sethi R. and Ullman J. D. 2006. Compilers Principles Techniques and Tools 2nd Ed. Addison-Wesley. Aho A. V. Lam M. S. Sethi R. and Ullman J. D. 2006. Compilers Principles Techniques and Tools 2nd Ed. Addison-Wesley.
3. Auerbach J. Bacon D. F. Cheng P. and Rabbah R. 2010. Lime: A Java-compatible and synthesizable language for heterogeneous architectures. In ACM OOPSLA -- Proceedings of the Conference on Object-Oriented Programming Systems Languages and Applications. 10.1145/1869459.1869469 Auerbach J. Bacon D. F. Cheng P. and Rabbah R. 2010. Lime: A Java-compatible and synthesizable language for heterogeneous architectures. In ACM OOPSLA -- Proceedings of the Conference on Object-Oriented Programming Systems Languages and Applications. 10.1145/1869459.1869469
4. Bilodeau M. Clienti C. Coelho F. Guelton S. Irigoin F. Keryell R. and Lemonnier F. 2008--2011. FREIA: Framework for embedded image applications. French ANR-funded project with ARMINES (CMM CRI) THALES (TRT) and Télécom Bretagne. Bilodeau M. Clienti C. Coelho F. Guelton S. Irigoin F. Keryell R. and Lemonnier F. 2008--2011. FREIA: Framework for embedded image applications. French ANR-funded project with ARMINES (CMM CRI) THALES (TRT) and Télécom Bretagne.
5. Definition and SIMD implementation of a multi-processing architecture approach on FPGA
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. M
3;Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering;2020-12-21
2. Automatic Streamization of Image Processing Applications;Languages and Compilers for Parallel Computing;2015