{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,7]],"date-time":"2025-10-07T08:44:33Z","timestamp":1759826673825,"version":"3.41.0"},"reference-count":66,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2019,4,18]],"date-time":"2019-04-18T00:00:00Z","timestamp":1555545600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"German Research Foundation (DFG) within the Collaborative Research Centre \u201cOn-The-Fly Computing\u201d","award":["SFB 901"],"award-info":[{"award-number":["SFB 901"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2019,6,30]]},"abstract":"<jats:p>Multi-accelerator platforms combine CPUs and different accelerator architectures within a single compute node. Such systems are capable of processing parallel workloads very efficiently while being more energy efficient than regular systems consisting of CPUs only. However, the architectures of such systems are diverse, forcing developers to port applications to each accelerator using different programming languages, models, tools, and compilers. Developers not only require domain-specific knowledge but also need to understand the low-level accelerator details, leading to an increase in the design effort and costs.<\/jats:p>\n          <jats:p>\n            To tackle this challenge, we propose a compilation approach and a practical realization called\n            <jats:italic>\n              HT\n              <jats:sc>r<\/jats:sc>\n              OP\n            <\/jats:italic>\n            that is completely transparent to the user. HT\n            <jats:sc>r<\/jats:sc>\n            OP is able to automatically analyze a sequential CPU application, detect computational hotspots, and generate parallel OpenCL host and kernel code. The potential of HT\n            <jats:sc>r<\/jats:sc>\n            OP is demonstrated by offloading hotspots to different OpenCL-enabled resources (currently the CPU, the general-purpose GPU, and the manycore Intel Xeon Phi) for a broad set of benchmark applications. We present an in-depth evaluation of our approach in terms of performance gains and energy savings, taking into account all static and dynamic overheads. We are able to achieve speedups and energy savings of up to two orders of magnitude, if an application has sufficient computational intensity, when compared to a natively compiled application.\n          <\/jats:p>","DOI":"10.1145\/3319423","type":"journal-article","created":{"date-parts":[[2019,4,19]],"date-time":"2019-04-19T16:56:23Z","timestamp":1555692983000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Transparent Acceleration for Heterogeneous Platforms With Compilation to OpenCL"],"prefix":"10.1145","volume":"16","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-3811-894X","authenticated-orcid":false,"given":"Heinrich","family":"Riebler","sequence":"first","affiliation":[{"name":"Paderborn Center for Parallel Computing (PC2), Paderborn University, Paderborn, Germany"}]},{"given":"Gavin","family":"Vaz","sequence":"additional","affiliation":[{"name":"Paderborn Center for Parallel Computing (PC2), Paderborn University, Paderborn, Germany"}]},{"given":"Tobias","family":"Kenter","sequence":"additional","affiliation":[{"name":"Paderborn Center for Parallel Computing (PC2), Paderborn University, Paderborn, Germany"}]},{"given":"Christian","family":"Plessl","sequence":"additional","affiliation":[{"name":"Paderborn Center for Parallel Computing (PC2), Paderborn University, Paderborn, Germany"}]}],"member":"320","published-online":{"date-parts":[[2019,4,18]]},"reference":[{"volume-title":"Proceedings of the International Conference on Field-Programmable Technology (ICFPT\u201910)","author":"Betkaoui B.","key":"e_1_2_1_1_1"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/SBAC-PAD.2013.1"},{"volume-title":"Proceedings of the International Conference on Compiler Construction (CC\u201908)","author":"Bondhugula U.","key":"e_1_2_1_3_1"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1379022.1375595"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1391469.1391663"},{"volume-title":"Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918)","year":"2018","author":"Chen Tianqi","key":"e_1_2_1_6_1"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","unstructured":"Chris Cummins Pavlos Petoumenos Michel Steuwer and Hugh Leather. 2015. Autotuning OpenCL workgroup size for stencil patterns. arXiv:1511.02490.  Chris Cummins Pavlos Petoumenos Michel Steuwer and Hugh Leather. 2015. Autotuning OpenCL workgroup size for stencil patterns. arXiv:1511.02490."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/99.660313"},{"volume-title":"Proceedings of the International Workshop on Adaptive Self-Tuning Computing Systems.","year":"2015","author":"Damschen Marvin","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.5555\/2755753.2757063"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1854273.1854318"},{"volume-title":"Proceedings of the ReCon Conference.","year":"2014","author":"Dinaburg Artem","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2907972.2907978"},{"volume-title":"Retrieved","year":"2014","author":"Gay Oliver","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-006-0012-3"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_17_1"},{"volume-title":"Proceedings of the International Conference on Compiler Construction (CC\u201911)","author":"Grewe Dominik","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-8191(96)00024-5"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626412500107"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2925426.2926286"},{"volume-title":"Retrieved","year":"2018","author":"Khronos Group","key":"e_1_2_1_22_1"},{"volume-title":"Retrieved","year":"2018","author":"LLVM Dev. Group","key":"e_1_2_1_23_1"},{"volume-title":"Retrieved","year":"2018","author":"LLVM Dev. Group","key":"e_1_2_1_24_1"},{"volume-title":"Retrieved","year":"2018","author":"LLVM Dev. Group","key":"e_1_2_1_25_1"},{"volume-title":"Retrieved","year":"2018","author":"LLVM Dev. Group","key":"e_1_2_1_26_1"},{"volume-title":"Retrieved","year":"2018","author":"LLVM Dev. Group","key":"e_1_2_1_27_1"},{"volume-title":"Retrieved","year":"2018","author":"LLVM Dev. Group","key":"e_1_2_1_28_1"},{"volume-title":"Retrieved","year":"2018","author":"LLVM Dev. Group","key":"e_1_2_1_29_1"},{"volume-title":"Retrieved","year":"2011","author":"Open ACC Working Group","key":"e_1_2_1_30_1"},{"volume-title":"Retrieved","year":"2014","author":"Harris Mark","key":"e_1_2_1_31_1"},{"volume-title":"Retrieved","year":"2015","author":"Xilinx Inc.","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2628071.2628088"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183767.3183779"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2038037.1941591"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2011.12"},{"volume-title":"CRC Standard Probability and Statistics Tables and Formulae","author":"Kokoska Stephen","key":"e_1_2_1_37_1"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/977395.977673"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.5555\/2971808.2972018"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-77610-1_6"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2628071.2628087"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2014.19"},{"volume-title":"Decompilation of LLVM IR. Master\u2019s Thesis","author":"Moll Simon","key":"e_1_2_1_43_1"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1401132.1401152"},{"volume-title":"Retrieved","year":"2017","author":"Nilsson Sebastian","key":"e_1_2_1_45_1"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_46_1"},{"volume-title":"Retrieved","year":"2018","author":"Pouchet Louis-No\u00ebl","key":"e_1_2_1_47_1"},{"volume-title":"Retrieved","year":"2018","author":"Project Dagger","key":"e_1_2_1_48_1"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3178487.3178534"},{"volume-title":"Retrieved","year":"2018","author":"Riebler Heinrich","key":"e_1_2_1_50_1"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/RTSI.2016.7740545"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2013.21"},{"volume-title":"Proceedings of the Symposium on Application Accelerators in High Performance Computing (SAAHPC\u201910)","year":"2010","author":"Rul Sean","key":"e_1_2_1_53_1"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2015.73"},{"volume-title":"Proceedings of the International Conference on High-Performance Clustered Computing.","year":"2009","author":"Showerman Michael","key":"e_1_2_1_55_1"},{"key":"e_1_2_1_56_1","unstructured":"Deshanand Singh. 2011. Implementing FPGA Design With the OpenCL Standard. White Paper. Altera.  Deshanand Singh. 2011. Implementing FPGA Design With the OpenCL Standard. White Paper. Altera."},{"volume-title":"Maestro: Data orchestration and tuning for OpenCL devices. In Euro-Par - Parallel Processing","year":"2010","author":"Spafford Kyle","key":"e_1_2_1_57_1"},{"volume-title":"OpenCL: A parallel programming standard for heterogeneous computing systems. Computing in Science 8 Engineering 12, 3","year":"2010","author":"Stone John E.","key":"e_1_2_1_58_1"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3078633.3081040"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/1723112.1723134"},{"volume-title":"Proceedings of the International Conference on ReConFigurable Computing and FPGAs (ReConFig\u201914)","author":"Vaz G.","key":"e_1_2_1_61_1"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2400682.2400713"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1155\/2007\/75947"},{"volume-title":"Retrieved","year":"2014","author":"Willis Trent","key":"e_1_2_1_64_1"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1109\/54.953271"},{"volume-title":"Retrieved","year":"2018","author":"Developer Zone NVIDIA","key":"e_1_2_1_66_1"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3319423","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3319423","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:38:21Z","timestamp":1750199901000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3319423"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,4,18]]},"references-count":66,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2019,6,30]]}},"alternative-id":["10.1145\/3319423"],"URL":"https:\/\/doi.org\/10.1145\/3319423","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2019,4,18]]},"assertion":[{"value":"2018-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-04-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}