On the Three P's of Parallel Programming for Heterogeneous Computing: Performance, Productivity, and Portability

dc.contributor.authorGondhalekar, Atharvaen
dc.contributor.authorFeng, Wu-chunen
dc.date.accessioned2024-03-04T15:48:20Zen
dc.date.available2024-03-04T15:48:20Zen
dc.date.issued2023-01-01en
dc.description.abstractAs FPGAs and GPUs continue to make inroads into high-performance computing (HPC), the need for languages and frameworks that offer performance, productivity, and portability across heterogeneous platforms, such as FPGAs and GPUs, continues to grow. OpenCL and SYCL have emerged as frameworks that offer cross-platform functional portability between FPGAs and GPUs. While functional portability across a diverse set of platforms is an important feature of portable frameworks, achieving performance portability often requires vendor and platform-specific optimizations. Achieving performance portability, therefore, comes at the expense of productivity. This paper presents a quantification of the tradeoffs between performance, portability, and productivity of OpenCL and SYCL. It extends and complements our prior work on quantifying performance-productivity tradeoffs between Verilog and OpenCL for the FPGA. In addition to evaluating the performance-productivity tradeoffs between OpenCL and SYCL, this work quantifies the performance portability (PP) of OpenCL and SYCL as well as their code convergence (CC), i.e., a measure of productivity across different platforms (e.g., FPGA and GPU). Using two applications as case studies (i.e., edge detection using the Sobel filter, and graph link prediction using the Jaccard similarity index), we characterize the tradeoffs between performance, portability, and productivity. Our results show that OpenCL and SYCL offer complementary tradeoffs. While OpenCL delivers better performance portability than SYCL, SYCL offers better code convergence and a 1.6 x improvement in source lines of code over OpenCL.en
dc.description.versionAccepted versionen
dc.format.extentPages 1-7en
dc.identifier.doihttps://doi.org/10.1109/HPEC58863.2023.10363620en
dc.identifier.isbn9798350308600en
dc.identifier.orcidFeng, Wu-chun [0000-0002-6015-0727]en
dc.identifier.urihttps://hdl.handle.net/10919/118256en
dc.publisherIEEEen
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.titleOn the Three P's of Parallel Programming for Heterogeneous Computing: Performance, Productivity, and Portabilityen
dc.title.serial2023 IEEE High Performance Extreme Computing Conference, HPEC 2023en
dc.typeConference proceedingen
dc.type.otherConference Proceedingen
pubs.finish-date2023-09-29en
pubs.organisational-group/Virginia Techen
pubs.organisational-group/Virginia Tech/Engineeringen
pubs.organisational-group/Virginia Tech/Engineering/Computer Scienceen
pubs.organisational-group/Virginia Tech/Faculty of Health Sciencesen
pubs.organisational-group/Virginia Tech/All T&R Facultyen
pubs.organisational-group/Virginia Tech/Engineering/COE T&R Facultyen
pubs.start-date2023-09-25en

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Performance_Productivity_Portability_HPEC_2023-PDFA.pdf
Size:
396.46 KB
Format:
Adobe Portable Document Format
Description:
Accepted version
License bundle
Now showing 1 - 1 of 1
Name:
license.txt
Size:
1.5 KB
Format:
Plain Text
Description: