{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T23:04:28Z","timestamp":1742943868565,"version":"3.40.3"},"publisher-location":"Cham","reference-count":32,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030953904"},{"type":"electronic","value":"9783030953911"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-030-95391-1_48","type":"book-chapter","created":{"date-parts":[[2022,2,22]],"date-time":"2022-02-22T09:04:54Z","timestamp":1645520694000},"page":"772-791","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["OptCL: A Middleware to\u00a0Optimise Performance for\u00a0High Performance Domain-Specific Languages on\u00a0Heterogeneous Platforms"],"prefix":"10.1007","author":[{"given":"Jiajian","family":"Xiao","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Philipp","family":"Andelfinger","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Wentong","family":"Cai","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Eckhoff","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alois","family":"Knoll","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,2,23]]},"reference":[{"issue":"1","key":"48_CR1","doi-asserted-by":"publisher","first-page":"5","DOI":"10.1023\/A:1010933404324","volume":"45","author":"L Breiman","year":"2001","unstructured":"Breiman, L.: Random forests. Mach. Learn. 45(1), 5\u201332 (2001)","journal-title":"Mach. Learn."},{"key":"48_CR2","doi-asserted-by":"crossref","unstructured":"Brown, K.J., et al.: Have abstraction and eat performance, too: optimized heterogeneous computing with parallel patterns. In: 2016 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO), Barcelona, Spain, pp. 194\u2013205. IEEE (2016)","DOI":"10.1145\/2854038.2854042"},{"key":"48_CR3","doi-asserted-by":"crossref","unstructured":"Chikin, A., Amaral, J.N., Ali, K., Tiotto, E.: Toward an analytical performance model to select between GPU and CPU execution. In: 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), Rio de Janeiro, Brazil, pp. 353\u2013362. IEEE (2019)","DOI":"10.1109\/IPDPSW.2019.00068"},{"key":"48_CR4","unstructured":"Codeplay: Codeplay: ComputeCpp. https:\/\/www.codeplay.com\/products\/computecpp\/. Accessed 30 July 2020"},{"key":"48_CR5","doi-asserted-by":"publisher","first-page":"61","DOI":"10.1016\/j.future.2020.10.014","volume":"116","author":"B Cosenza","year":"2021","unstructured":"Cosenza, B., et al.: Easy and efficient agent-based simulations with the OpenABL language and compiler. Future Gener. Comput. Syst. 116, 61\u201375 (2021)","journal-title":"Future Gener. Comput. Syst."},{"key":"48_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"286","DOI":"10.1007\/978-3-642-19861-8_16","volume-title":"Compiler Construction","author":"D Grewe","year":"2011","unstructured":"Grewe, D., O\u2019Boyle, M.F.P.: A static task partitioning approach for heterogeneous systems using OpenCL. In: Knoop, J. (ed.) CC 2011. LNCS, vol. 6601, pp. 286\u2013305. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-19861-8_16"},{"key":"48_CR7","doi-asserted-by":"crossref","unstructured":"Grosser, T., Hoefler, T.: Polly-ACC transparent compilation to heterogeneous hardware. In: Proceedings of the 2016 International Conference on Supercomputing, Istanbul, Turkey, pp. 1\u201313. ACM (2016)","DOI":"10.1145\/2925426.2926286"},{"issue":"3","key":"48_CR8","doi-asserted-by":"publisher","first-page":"1732","DOI":"10.1007\/s11227-019-02768-y","volume":"75","author":"MAD Guzman","year":"2019","unstructured":"Guzman, M.A.D., Nozal, R., Tejero, R.G., Villarroya-Gaudo, M., Gracia, D.S., Bosque, J.L.: Cooperative CPU, GPU, and FPGA heterogeneous execution with EngineCL. J. Supercomput. 75(3), 1732\u20131746 (2019)","journal-title":"J. Supercomput."},{"key":"48_CR9","doi-asserted-by":"crossref","unstructured":"Huang, S., et al.: Analysis and modeling of collaborative execution strategies for heterogeneous CPU-FPGA architectures. In: Proceedings of the 2019 ACM\/SPEC International Conference on Performance Engineering, Mumbai, India, pp. 79\u201390. ACM (2019)","DOI":"10.1145\/3297663.3310305"},{"key":"48_CR10","doi-asserted-by":"crossref","unstructured":"Johnston, B., Falzon, G., Milthorpe, J.: OpenCL performance prediction using architecture-independent features. In: 2018 International Conference on High Performance Computing & Simulation (HPCS), Orleans, France, pp. 561\u2013569. IEEE (2018)","DOI":"10.1109\/HPCS.2018.00095"},{"key":"48_CR11","doi-asserted-by":"crossref","unstructured":"Majeti, D., Sarkar, V.: Heterogeneous Habanero-C (H2C): a portable programming model for heterogeneous processors. In: 2015 IEEE International Parallel and Distributed Processing Symposium Workshop, Hyderabad, India, pp. 708\u2013717. IEEE (2015)","DOI":"10.1109\/IPDPSW.2015.81"},{"issue":"4","key":"48_CR12","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2788396","volume":"47","author":"S Mittal","year":"2015","unstructured":"Mittal, S., Vetter, J.S.: A survey of CPU-GPU heterogeneous computing techniques. ACM Comput. Surv. (CSUR) 47(4), 1\u201335 (2015)","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"48_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"301","DOI":"10.1007\/978-3-319-93701-4_23","volume-title":"Computational Science \u2013 ICCS 2018","author":"K Moren","year":"2018","unstructured":"Moren, K., G\u00f6hringer, D.: Automatic mapping for OpenCL-programs on CPU\/GPU heterogeneous platforms. In: Shi, Y., et al. (eds.) ICCS 2018. LNCS, vol. 10861, pp. 301\u2013314. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-319-93701-4_23"},{"issue":"2","key":"48_CR14","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1007\/s10766-018-0555-0","volume":"47","author":"A Navarro","year":"2019","unstructured":"Navarro, A., Corbera, F., Rodriguez, A., Vilches, A., Asenjo, R.: Heterogeneous parallel_for template for CPU-GPU chips. Int. J. Parallel Program. 47(2), 213\u2013233 (2019)","journal-title":"Int. J. Parallel Program."},{"key":"48_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"274","DOI":"10.1007\/978-3-319-69953-0_16","volume-title":"Supercomputing Frontiers","author":"S Ohshima","year":"2018","unstructured":"Ohshima, S., Yamazaki, I., Ida, A., Yokota, R.: Optimization of hierarchical matrix computation on GPU. In: Yokota, R., Wu, W. (eds.) SCFA 2018. LNCS, vol. 10776, pp. 274\u2013292. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-319-69953-0_16"},{"key":"48_CR16","doi-asserted-by":"crossref","unstructured":"Pandit, P., Govindarajan, R.: Fluidic Kernels: cooperative execution of OpenCL programs on multiple heterogeneous devices. In: Proceedings of Annual IEEE\/ACM International Symposium on Code Generation and Optimization, Orlando, FL, USA, pp. 273\u2013283. ACM (2014)","DOI":"10.1145\/2544137.2544163"},{"key":"48_CR17","doi-asserted-by":"crossref","unstructured":"Pereira, A.D., Rocha, R.C., Ramos, L., Castro, M., G\u00f3es, L.F.: Automatic partitioning of stencil computations on heterogeneous systems. In: 2017 International Symposium on Computer Architecture and High Performance Computing Workshops (SBAC-PADW), Campinas, Brazil, pp. 43\u201348. IEEE (2017)","DOI":"10.1109\/SBAC-PADW.2017.16"},{"key":"48_CR18","doi-asserted-by":"crossref","unstructured":"P\u00e9rez, B., Bosque, J.L., Beivide, R.: Simplifying programming and load balancing of data parallel applications on heterogeneous systems. In: Proceedings of the 9th Annual Workshop on General Purpose Processing Using Graphics Processing Unit, Barcelona, Spain, pp. 42\u201351. ACM (2016)","DOI":"10.1145\/2884045.2884051"},{"key":"48_CR19","doi-asserted-by":"publisher","first-page":"45","DOI":"10.1016\/j.jpdc.2018.11.001","volume":"125","author":"B P\u00e9rez","year":"2019","unstructured":"P\u00e9rez, B., et al.: Auto-tuned OpenCL kernel co-execution in OmpSs for heterogeneous systems. J. Parallel Distrib. Comput. 125, 45\u201357 (2019)","journal-title":"J. Parallel Distrib. Comput."},{"key":"48_CR20","doi-asserted-by":"crossref","unstructured":"Phothilimthana, P.M., Ansel, J., Ragan-Kelley, J., Amarasinghe, S.: Portable performance on heterogeneous architectures. In: Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems, Houston, Texas, USA, pp. 431\u2013444. ACM (2013)","DOI":"10.1145\/2451116.2451162"},{"key":"48_CR21","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1016\/j.jpdc.2021.06.003","volume":"157","author":"B P\u00e9rez","year":"2021","unstructured":"P\u00e9rez, B., Stafford, E., Bosque, J., Beivide, R.: Sigmoid: an auto-tuned load balancing algorithm for heterogeneous systems. J. Parallel Distrib. Comput. 157, 30\u201342 (2021)","journal-title":"J. Parallel Distrib. Comput."},{"key":"48_CR22","doi-asserted-by":"crossref","unstructured":"Price, J., McIntosh-Smith, S.: Oclgrind: an extensible OpenCL device simulator. In: Proceedings of the 3rd International Workshop on OpenCL, Palo Alto, CA, USA. ACM (2015)","DOI":"10.1145\/2791321.2791333"},{"key":"48_CR23","doi-asserted-by":"crossref","unstructured":"Rao, D.M., Thondugulam, N.V., Radhakrishnan, R., Wilsey, P.A.: Unsynchronized parallel discrete event simulation. In: 1998 Winter Simulation Conference. Proceedings (Cat. No. 98CH36274), Washington, USA, vol. 2, pp. 1563\u20131570. IEEE (1998)","DOI":"10.1109\/WSC.1998.746030"},{"issue":"2","key":"48_CR24","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3319423","volume":"16","author":"H Riebler","year":"2019","unstructured":"Riebler, H., Vaz, G., Kenter, T., Plessl, C.: Transparent acceleration for heterogeneous platforms with compilation to OpenCL. ACM Trans. Archit. Code Optim. (TACO) 16(2), 1\u201326 (2019)","journal-title":"ACM Trans. Archit. Code Optim. (TACO)"},{"key":"48_CR25","doi-asserted-by":"publisher","unstructured":"Sb\u00eerlea, A., Zou, Y., Budiml\u00edc, Z., Cong, J., Sarkar, V.: Mapping a data-flow programming model onto heterogeneous platforms. In: Proceedings of the 13th ACM SIGPLAN\/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems, Beijing, China, pp. 61\u201370. ACM (2012). https:\/\/doi.org\/10.1145\/2248418.2248428","DOI":"10.1145\/2248418.2248428"},{"issue":"2","key":"48_CR26","doi-asserted-by":"publisher","first-page":"262","DOI":"10.1007\/s10766-016-0425-6","volume":"45","author":"R Sotomayor","year":"2017","unstructured":"Sotomayor, R., Sanchez, L.M., Blas, J.G., Fernandez, J., Garcia, J.D.: Automatic CPU\/GPU generation of multi-versioned OpenCL kernels for C++ scientific applications. Int. J. Parallel Program. 45(2), 262\u2013282 (2017)","journal-title":"Int. J. Parallel Program."},{"issue":"9","key":"48_CR27","doi-asserted-by":"publisher","first-page":"205","DOI":"10.1145\/2858949.2784754","volume":"50","author":"M Steuwer","year":"2015","unstructured":"Steuwer, M., Fensch, C., Lindley, S., Dubach, C.: Generating performance portable code using rewrite rules: from high-level functional expressions to high-performance OpenCL code. ACM SIGPLAN Not. 50(9), 205\u2013217 (2015)","journal-title":"ACM SIGPLAN Not."},{"key":"48_CR28","unstructured":"Tillet, P., Rupp, K., Selberherr, S.: An automatic OpenCL compute kernel generator for basic linear algebra operations. In: Proceedings of the 2012 Symposium on High Performance Computing, Orlando, FL, USA, pp. 1\u20132. ACM (2012)"},{"key":"48_CR29","unstructured":"Trigkas, A.: Investigation of the OpenCL SYCL programming model. Master\u2019s thesis, The University of Edinburgh, UK (2014)"},{"key":"48_CR30","doi-asserted-by":"publisher","first-page":"e5807","DOI":"10.1002\/CPE.5807","volume":"32","author":"J Xiao","year":"2020","unstructured":"Xiao, J., Andelfinger, P., Cai, W., Richmond, P., Knoll, A., Eckhoff, D.: OpenABLext: an automatic code generation framework for agent-based simulations on CPU-GPU-FPGA heterogeneous platforms. Concurr. Comput. Pract. Exp. 32, e5807 (2020). https:\/\/doi.org\/10.1002\/CPE.5807","journal-title":"Concurr. Comput. Pract. Exp."},{"key":"48_CR31","doi-asserted-by":"crossref","unstructured":"Xiao, J., Andelfinger, P., Eckhoff, D., Cai, W., Knoll, A.: Exploring execution schemes for agent-based traffic simulation on heterogeneous hardware. In: Proceedings of the International Symposium on Distributed Simulation and Real Time Applications, Madrid, Spain, pp. 1\u201310. IEEE (2018)","DOI":"10.1109\/DISTRA.2018.8601016"},{"issue":"6","key":"48_CR32","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3291048","volume":"51","author":"J Xiao","year":"2019","unstructured":"Xiao, J., Andelfinger, P., Eckhoff, D., Cai, W., Knoll, A.: A survey on agent-based simulation using hardware accelerators. ACM Comput. Surv. (CSUR) 51(6), 1\u201335 (2019)","journal-title":"ACM Comput. Surv. (CSUR)"}],"container-title":["Lecture Notes in Computer Science","Algorithms and Architectures for Parallel Processing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-95391-1_48","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,19]],"date-time":"2024-09-19T00:18:55Z","timestamp":1726705135000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-95391-1_48"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783030953904","9783030953911"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-95391-1_48","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"23 February 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ICA3PP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Algorithms and Architectures for Parallel Processing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"3 December 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"5 December 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"ica3pp2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/nsclab.org\/ica3pp2021\/index.html","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"403","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"145","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"36% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3.12","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2.27","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}