Powered by
1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance (FProPer 2024),
September 6, 2024,
Milan, Italy
1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance (FProPer 2024)
Frontmatter
Welcome from the Chairs
Welcome to the 1st ACM SIGPLAN Workshop on Functional Programming for Productivity and Performance (FProPer’24). FProPer’24 is a satellite event of the 29th ACM SIGPLAN International Conference on Functional Programming (ICFP 2024), held on Friday, 6 September 2024 in Milan, Italy. The aim of this workshop is to bring together researchers and practitioners that strive to use or develop declarative languages for combining programmer productivity with the highest levels of runtime performance. The performance aspects are not limited to sequential or parallel runtime performance but encompass all kinds of performance aspects, such as memory footprint or energy consumption as well. Application areas of interest include, but are not limited to, high-performance scientific computing and numerical programming. Although FProPer’24 is in its first year, the workshop represents a new iteration of the FHPNC workshop. The primary change is a broadening of scope from high-performance and numerical computing to all kinds of performance aspects. Information on previous workshops can be found here: https://fhpnc.github.io/. FProPer’24 followed a single-cycle anonymous review process and invited submissions of both, extended abstracts and full-length papers. Each submission received at least three reviews. Submissions by Program Committee members were allowed but were assigned non-conflicting reviewers. We accepted 6 submissions, two of which were full papers. We would like to thank all authors for providing the scientific content of this workshop, and the members of our Program Committee for their evaluations of the submissions. Nijmegen, Netherlands Sven-Bodo Scholz Pittsburgh, PA Mike Rainey September 2024 PC Chairs FProPer’24
Papers
A Comparison of OpenCL, CUDA, and HIP as Compilation Targets for a Functional Array Language
Troels Henriksen
(University of Copenhagen, Denmark)
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.
@InProceedings{FProPer24p1,
author = {Troels Henriksen},
title = {A Comparison of OpenCL, CUDA, and HIP as Compilation Targets for a Functional Array Language},
booktitle = {Proc.\ FProPer},
publisher = {ACM},
pages = {1--9},
doi = {10.1145/3677997.3678226},
year = {2024},
}
Publisher's Version
Info
Fusing Gathers with Integer Linear Programming
David van Balen,
Gabriele Keller,
Ivo Gabe de Wolff, and
Trevor L. McDonell
(Utrecht University, Netherlands)
We present an Integer Linear Programming based approach to finding the optimal fusion strategy for combinator-based parallel programs. While combinator-based languages or libraries provide a convenient interface for programming parallel hardware, fusing combinators to more complex operations is essential to achieve the desired performance. Our approach is not only suitable for languages with the usual map, fold, scan, indexing and scatter operations, but also gather operations, which access arrays in arbitrary order, and therefore goes beyond the traditional producer-consumer fusion. It can be parametrised with appropriate cost functions, and is fast enough to be suitable for just-in-time compilation.
@InProceedings{FProPer24p10,
author = {David van Balen and Gabriele Keller and Ivo Gabe de Wolff and Trevor L. McDonell},
title = {Fusing Gathers with Integer Linear Programming},
booktitle = {Proc.\ FProPer},
publisher = {ACM},
pages = {10--23},
doi = {10.1145/3677997.3678227},
year = {2024},
}
Publisher's Version
proc time: 1.61