Manuel de Castro, Francisco J. andújar, Roberto R. Osorio, Rocío Carratalá-Sáez, Diego R. Llanos
{"title":"Challenging Portability Paradigms: FPGA Acceleration Using SYCL and OpenCL","authors":"Manuel de Castro, Francisco J. andújar, Roberto R. Osorio, Rocío Carratalá-Sáez, Diego R. Llanos","doi":"arxiv-2409.03391","DOIUrl":null,"url":null,"abstract":"As the interest in FPGA-based accelerators for HPC applications increases,\nnew challenges also arise, especially concerning different programming and\nportability issues. This paper aims to provide a snapshot of the current state\nof the FPGA tooling and its problems. To do so, we evaluate the performance\nportability of two frameworks for developing FPGA solutions for HPC (SYCL and\nOpenCL) when using them to port a highly-parallel application to FPGAs, using\nboth ND-range and single-task type of kernels. The developer's general recommendation when using FPGAs is to develop\nsingle-task kernels for them, as they are commonly regarded as more suited for\nsuch hardware. However, we discovered that, when using high-level approaches\nsuch as OpenCL and SYCL to program a highly-parallel application with no\nFPGA-tailored optimizations, ND-range kernels significantly outperform\nsingle-task codes. Specifically, while SYCL struggles to produce efficient FPGA\nimplementations of applications described as single-task codes, its performance\nexcels with ND-range kernels, a result that was unexpectedly favorable.","PeriodicalId":501291,"journal":{"name":"arXiv - CS - Performance","volume":"55 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Performance","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.03391","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
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. The developer's 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.