Abstract
This paper compares OpenCL, CUDA, and HIP as compilation targets for Futhark, a functional array language. We compare the performance of OpenCL versus CUDA, and OpenCL versus HIP, on the code generated by the Futhark compiler on a collection of 48 application benchmarks on two different GPUs. Despite the generated code in most cases being equivalent, we observe significant performance differences on the same hardware, ranging from 0.42x to 1.72x in the most extreme cases. We identify the root causes of most of these differences, many of which are due to relatively superficial details such as inconsistent defaults regarding compiler optimisation and numerical accuracy, although a few remain mysterious.
Original language | English |
---|---|
Title of host publication | FProPer 2024 - Proceedings of the 1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, Co-located with : ICFP 2024 |
Editors | Mike Rainey, Sven-Bodo Scholz |
Number of pages | 9 |
Publisher | Association for Computing Machinery, Inc. |
Publication date | 2024 |
ISBN (Electronic) | 9798400711008 |
DOIs | |
Publication status | Published - 2024 |
Event | 1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, FProPer 2024 - Milan, Italy Duration: 6 Sep 2024 → … |
Conference
Conference | 1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, FProPer 2024 |
---|---|
Country/Territory | Italy |
City | Milan |
Period | 06/09/2024 → … |
Sponsor | ACM SIGPLAN |
Bibliographical note
Publisher Copyright:© 2024 held by the owner/author(s).
Keywords
- functional programming
- GPU
- parallel programming
- performance measurement