{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:21:30Z","timestamp":1750306890147,"version":"3.41.0"},"reference-count":32,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2013,1]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/2400682.2400708","type":"journal-article","created":{"date-parts":[[2013,1,22]],"date-time":"2013-01-22T15:28:56Z","timestamp":1358868536000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["API compilation for image hardware accelerators"],"prefix":"10.1145","volume":"9","author":[{"given":"Fabien","family":"Coelho","sequence":"first","affiliation":[{"name":"MINES ParisTech, France"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fran\u00e7ois","family":"Irigoin","sequence":"additional","affiliation":[{"name":"MINES ParisTech, France"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2013,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/321992.322001"},{"key":"e_1_2_1_2_1","unstructured":"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."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869469"},{"key":"e_1_2_1_4_1","unstructured":"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\u00e9l\u00e9com 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\u00e9l\u00e9com Bretagne."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1403375.1403523"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/321958.321971"},{"key":"e_1_2_1_7_1","unstructured":"CAPS enterprise. 2008. HMPP Manycore portable programming. http:\/\/www.caps-enterprise.com\/  CAPS enterprise. 2008. HMPP Manycore portable programming. http:\/\/www.caps-enterprise.com\/"},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Cardoso J. M. P. and Diniz P. C. 2008. Compilation Techniques for Reconfigurable Architectures. Springer.   Cardoso J. M. P. and Diniz P. C. 2008. Compilation Techniques for Reconfigurable Architectures. Springer.","DOI":"10.1007\/978-0-387-09671-1"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254079"},{"key":"e_1_2_1_10_1","unstructured":"Clienti C. 2008. Fulguro Image Processing Library. Source Forge.  Clienti C. 2008. Fulguro Image Processing Library. Source Forge."},{"volume-title":"EUSIPCO: In Proceedings of the European Signal Processing Conference.","author":"Clienti C.","key":"e_1_2_1_11_1"},{"volume-title":"Proceedings of the Workhop on Optimizations for DSP and Embedded Systems (ODES'9).","author":"Coelho F.","key":"e_1_2_1_12_1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0022-0000(76)80048-7"},{"key":"e_1_2_1_14_1","unstructured":"CRI MINES ParisTech. 1989--2012. PIPS. Open source research compiler under GPLv3. http:\/\/www.cri.ensmpofr\/pips  CRI MINES ParisTech. 1989--2012. PIPS. Open source research compiler under GPLv3. http:\/\/www.cri.ensmpofr\/pips"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1981.1675827"},{"key":"e_1_2_1_16_1","unstructured":"Freescale. 1999. AltiVec technology programming interface manual. http:\/\/www.freescale.com\/files\/.32bit\/doc\/ref-manual\/ALTCVECPIM.pdf\/  Freescale. 1999. AltiVec technology programming interface manual. http:\/\/www.freescale.com\/files\/.32bit\/doc\/ref-manual\/ALTCVECPIM.pdf\/"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/s11045-009-0085-4"},{"volume-title":"Proceedings of the International Conference on Compiler Construction","series-title":"Lecture Notes in Computer Science","author":"Gupta R.","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/224170.224337"},{"volume-title":"Computer Architecture: A Quantitative Approach. Morgan Kaufmann.","year":"2003","author":"Hennessy J. L.","key":"e_1_2_1_20_1"},{"key":"e_1_2_1_21_1","unstructured":"Hockney R. W. and Jesshope C. R. 1988. Parallel Computers 2: Architecture Programming and Algorithms. Adam Hilger IOP Publishing Ltd.   Hockney R. W. and Jesshope C. R. 1988. Parallel Computers 2: Architecture Programming and Algorithms. Adam Hilger IOP Publishing Ltd."},{"key":"e_1_2_1_22_1","unstructured":"Khronos Group. 2008. OpenCL computing language v1.0. http:\/\/www.khronos.org\/opencl\/  Khronos Group. 2008. OpenCL computing language v1.0. http:\/\/www.khronos.org\/opencl\/"},{"volume-title":"APCCS: Proceedings of the Asia Pacific Conference on Circuits and Systems. IEEE, 1075--1078","author":"Kim S.","key":"e_1_2_1_23_1"},{"key":"e_1_2_1_24_1","unstructured":"OpenMP Architecture Review Board. 2008. OpenMP application program interface version 3.0. http:\/\/www.openmp.org\/mp-documents\/spec30.pdf  OpenMP Architecture Review Board. 2008. OpenMP application program interface version 3.0. http:\/\/www.openmp.org\/mp-documents\/spec30.pdf"},{"key":"e_1_2_1_25_1","unstructured":"Ramanathan R. M. Curry R. Chennupaty S. Cross R. L. Kvo S. and Buxton M. J. 2006. Extending the world's most popular processor architecture. White paper Intel. SSE3.  Ramanathan R. M. Curry R. Chennupaty S. Cross R. L. Kvo S. and Buxton M. J. 2006. Extending the world's most popular processor architecture. White paper Intel. SSE3."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185528"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/100512.100592"},{"volume-title":"Morphological Image Analysis: Principles and Applications","author":"Soile P.","key":"e_1_2_1_28_1"},{"key":"e_1_2_1_29_1","unstructured":"Thales (TRT) and other institutions. 2009. TERAOPS project. http:\/\/www.systematic-paris-region.org\/en\/projects\/teraops  Thales (TRT) and other institutions. 2009. TERAOPS project. http:\/\/www.systematic-paris-region.org\/en\/projects\/teraops"},{"volume-title":"VSIPL Std v1.3","author":"Forum","key":"e_1_2_1_30_1"},{"volume-title":"High-Performance Compilers for Parallel Computing","author":"Wolfe M.","key":"e_1_2_1_31_1"},{"volume-title":"PACT: Proceedings of the Conference on Parallel Architectures and Compilation Techniques. IEEE","author":"Zory J.","key":"e_1_2_1_32_1"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400708","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2400682.2400708","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:18:52Z","timestamp":1750234732000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400708"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,1]]},"references-count":32,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,1]]}},"alternative-id":["10.1145\/2400682.2400708"],"URL":"https:\/\/doi.org\/10.1145\/2400682.2400708","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2013,1]]},"assertion":[{"value":"2012-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}