Program Transformation to Identify List-Based Parallel Skeletons
Venkatesh Kannan (School of Computing, Dublin City University,, Ireland), G. W. Hamilton (School of Computing, Dublin City University,, Ireland)

TL;DR
This paper introduces a method to automatically transform programs into list-based forms to facilitate parallelization with existing skeletons, reducing inefficiencies and broadening applicability.
Contribution
It proposes a novel transformation technique that converts arbitrary programs into list-based forms, enabling easier parallel execution with existing skeleton libraries.
Findings
Transforms programs to list-based forms for parallelism
Reduces inefficient intermediate data structures
Enhances compatibility with existing skeletons
Abstract
Algorithmic skeletons are used as building-blocks to ease the task of parallel programming by abstracting the details of parallel implementation from the developer. Most existing libraries provide implementations of skeletons that are defined over flat data types such as lists or arrays. However, skeleton-based parallel programming is still very challenging as it requires intricate analysis of the underlying algorithm and often uses inefficient intermediate data structures. Further, the algorithmic structure of a given program may not match those of list-based skeletons. In this paper, we present a method to automatically transform any given program to one that is defined over a list and is more likely to contain instances of list-based skeletons. This facilitates the parallel execution of a transformed program using existing implementations of list-based parallel skeletons. Further, by…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
