{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,17]],"date-time":"2026-08-17T15:01:47Z","timestamp":1786978907428,"version":"3.56.0"},"publisher-location":"Cham","reference-count":16,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031901997","type":"print"},{"value":"9783031902000","type":"electronic"}],"license":[{"start":{"date-parts":[[2025,1,1]],"date-time":"2025-01-01T00:00:00Z","timestamp":1735689600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,6,11]],"date-time":"2025-06-11T00:00:00Z","timestamp":1749600000000},"content-version":"vor","delay-in-days":161,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2025]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>As the interest in FPGA-based accelerators for HPC applications increases, new challenges also arise, especially concerning different programming and portability issues. This paper aims to provide a snapshot of the current state of the FPGA tooling and its problems. To do so, we evaluate the performance portability of two frameworks for developing FPGA solutions for HPC (SYCL and OpenCL) when using them to port a highly-parallel application to FPGAs, using both ND-range and single-task type of kernels.<\/jats:p>\n                  <jats:p>The developer\u2019s general recommendation when using FPGAs is to develop single-task kernels for them, as they are commonly regarded as more suited for such hardware. However, we discovered that, when using high-level approaches such as OpenCL and SYCL to program a highly-parallel application with no FPGA-tailored optimizations, ND-range kernels significantly outperform single-task codes. Specifically, while SYCL struggles to produce efficient FPGA implementations of applications described as single-task codes, its performance excels with ND-range kernels, a result that was unexpectedly favorable.<\/jats:p>","DOI":"10.1007\/978-3-031-90200-0_33","type":"book-chapter","created":{"date-parts":[[2025,6,10]],"date-time":"2025-06-10T12:42:45Z","timestamp":1749559365000},"page":"412-424","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Challenging Portability Paradigms: FPGA Acceleration Using SYCL and\u00a0OpenCL"],"prefix":"10.1007","author":[{"given":"Manuel","family":"de Castro","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Roberto R.","family":"Osorio","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Francisco J.","family":"And\u00fajar","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Roc\u00edo","family":"Carratal\u00e1-S\u00e1ez","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yuri","family":"Torres","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Diego R.","family":"Llanos","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2025,6,11]]},"reference":[{"key":"33_CR1","doi-asserted-by":"publisher","unstructured":"Brunton, S., Rowley, C.: Modeling the unsteady aerodynamic forces on small-scale wings. In: 47th AIAA Aerospace Sciences Meeting, p.\u00a01127 (2009). https:\/\/doi.org\/10.2514\/6.2009-1127","DOI":"10.2514\/6.2009-1127"},{"key":"33_CR2","doi-asserted-by":"publisher","unstructured":"Carratal\u00e1-S\u00e1ez, R., et\u00a0al.: Open SYCL on heterogeneous GPU systems: a case of study. ArXiv preprint, pp. 0\u201317 (2023). https:\/\/doi.org\/10.48550\/arXiv.2310.06947","DOI":"10.48550\/arXiv.2310.06947"},{"key":"33_CR3","doi-asserted-by":"publisher","first-page":"9635","DOI":"10.1007\/s11227-022-05017-x","volume":"79","author":"R Carratal\u00e1-S\u00e1ez","year":"2023","unstructured":"Carratal\u00e1-S\u00e1ez, R., et al.: UVaFTLE: Lagrangian finite time Lyapunov exponent extraction for fluid dynamic application. J. Supercomput. 79, 9635\u20139665 (2023). https:\/\/doi.org\/10.1007\/s11227-022-05017-x","journal-title":"J. Supercomput."},{"issue":"7","key":"33_CR4","doi-asserted-by":"publisher","first-page":"66","DOI":"10.1109\/MC.2024.3378380","volume":"57","author":"M de Castro","year":"2024","unstructured":"de Castro, M., Vilari\u00f1o, D.L., Torres, Y., Llanos, D.R.: The role of field-programmable gate arrays in the acceleration of modern high-performance computing workloads. Computer 57(7), 66\u201376 (2024). https:\/\/doi.org\/10.1109\/MC.2024.3378380","journal-title":"Computer"},{"key":"33_CR5","doi-asserted-by":"publisher","unstructured":"Haller, G.: Lagrangian coherent structures. Ann. Rev. Fluid Mech. 47, 137\u2013162 (2015). https:\/\/doi.org\/10.1063\/1.3690153","DOI":"10.1063\/1.3690153"},{"key":"33_CR6","doi-asserted-by":"publisher","unstructured":"Hassan, M.W., et\u00a0al.: Exploring FPGA-specific optimizations for irregular OpenCL applications. In: ReConFig 2018, pp.\u00a01\u20138. https:\/\/doi.org\/10.1109\/RECONFIG.2018.8641699","DOI":"10.1109\/RECONFIG.2018.8641699"},{"key":"33_CR7","unstructured":"Intel: Compare Benefits of CPUs, GPUs, and FPGAs for Different oneAPI Compute Workloads (2022). https:\/\/tinyurl.com\/2zevt9p2. Accessed 12 Mar 2024"},{"key":"33_CR8","unstructured":"Intel: Intel FPGA SDK for OpenCL\u2122 Pro Edition: Best Practices Guide: 1.3 Single Work-Item Kernel versus NDRange Kernel (2022). https:\/\/tinyurl.com\/23amr92d. Accessed 12 Mar 2024"},{"key":"33_CR9","doi-asserted-by":"crossref","unstructured":"Kamalakkannan, K., et\u00a0al.: FPGA acceleration of structured-mesh-based explicit and implicit numerical solvers using SYCL. In: IWOCL 2022. ACM, New York (2022). https:\/\/doi.org\/10.1145\/3529538.3530007","DOI":"10.1145\/3529538.3530007"},{"key":"33_CR10","unstructured":"Khronos OpenCL working group: SYCL 2020 Specification (revision 7) (2020). https:\/\/tinyurl.com\/yc7kwb9u. Accessed 20 June 2023"},{"key":"33_CR11","unstructured":"Khronos OpenCL Working Group, et\u00a0al.: The OpenCL Specification, version 1.0. 29, 8 December 2008. https:\/\/www.khronos.org\/opencl\/. Accessed July 2022"},{"key":"33_CR12","doi-asserted-by":"publisher","unstructured":"Nurvitadhi, E., et\u00a0al.: Can FPGAs beat GPUs in accelerating next-generation deep neural networks? pp. 5\u201314 (2017). https:\/\/doi.org\/10.1145\/3020078.3021740","DOI":"10.1145\/3020078.3021740"},{"key":"33_CR13","doi-asserted-by":"publisher","unstructured":"O\u2019Loughlin, D., et\u00a0al.: Xilinx Vivado high level synthesis: case studies. In: 25th ISSC2014\/CIICT2014. IET (2014). https:\/\/doi.org\/10.1049\/cp.2014.0713","DOI":"10.1049\/cp.2014.0713"},{"key":"33_CR14","unstructured":"Verma, A., et\u00a0al.: Accelerating workloads on FPGAs via OpenCL: a case study with OpenDwarfs. Technical report, Department of Computer Science, Virginia Tech (2016)"},{"key":"33_CR15","doi-asserted-by":"publisher","unstructured":"Wang, Z., et\u00a0al.: A performance analysis framework for optimizing OpenCL applications on FPGAs. In: HPCA 2016, pp. 114\u2013125. https:\/\/doi.org\/10.1109\/HPCA.2016.7446058","DOI":"10.1109\/HPCA.2016.7446058"},{"key":"33_CR16","doi-asserted-by":"publisher","unstructured":"Zohouri, H.R., et\u00a0al.: Evaluating and optimizing OpenCL kernels for high performance computing with FPGAs. In: SC 2016, pp. 409\u2013420. https:\/\/doi.org\/10.1109\/SC.2016.34","DOI":"10.1109\/SC.2016.34"}],"container-title":["Lecture Notes in Computer Science","Euro-Par 2024: Parallel Processing Workshops"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-90200-0_33","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,3]],"date-time":"2025-10-03T12:59:12Z","timestamp":1759496352000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-90200-0_33"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025]]},"ISBN":["9783031901997","9783031902000"],"references-count":16,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-90200-0_33","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025]]},"assertion":[{"value":"11 June 2025","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"Euro-Par","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Conference on Parallel Processing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Madrid","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Spain","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2024","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26 August 2024","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 August 2024","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"europar2024","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/2024.euro-par.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}