Fusing Gathers with Integer Linear Programming

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

Abstract

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.

Original languageEnglish
Title of host publicationFProPer 2024 - Proceedings of the 1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, Co-located with
Subtitle of host publicationICFP 2024
EditorsMike Rainey, Sven-Bodo Scholz
PublisherAssociation for Computing Machinery
Pages10-23
Number of pages14
ISBN (Electronic)9798400711008
DOIs
Publication statusPublished - 28 Aug 2024
Event1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, FProPer 2024 - Milan, Italy
Duration: 6 Sept 2024 → …

Publication series

NameFProPer 2024 - Proceedings of the 1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, Co-located with: ICFP 2024

Conference

Conference1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, FProPer 2024
Country/TerritoryItaly
CityMilan
Period6/09/24 → …

Bibliographical note

Publisher Copyright:
© 2024 held by the owner/author(s).

Keywords

  • arrays
  • data parallelism
  • fusion
  • integer linear programming

Fingerprint

Dive into the research topics of 'Fusing Gathers with Integer Linear Programming'. Together they form a unique fingerprint.

Cite this