Projects per year
Abstract
Recursion schemes, such as the well-known map, can be used as loci of potential parallelism, where schemes are replaced with an equivalent parallel implementation. This paper formalises a novel technique, using program slicing, that automatically and statically identifies computations in recursive functions that can be lifted out of the function and then potentially performed in parallel. We define a new program slicing algorithm, build a prototype implementation, and demonstrate its use on 12 Haskell examples, including benchmarks from the NoFib suite and functions from the standard Haskell Prelude. In all cases, we obtain the expected results in terms of finding potential parallelism. Moreover, we have tested our prototype against synthetic benchmarks, and found that our prototype has quadratic time complexity. For the NoFib benchmark examples we demonstrate that relative parallel speedups can be obtained (up to 32.93x the sequential performance on 56 hyperthreaded cores).
Original language | English |
---|---|
Title of host publication | Proceedings of the 6th ACM SIGPLAN International Workshop on Functional High-Performance Computing (FHPC 2017) |
Place of Publication | New York |
Publisher | ACM |
Pages | 30-41 |
ISBN (Electronic) | 9781450351812 |
DOIs | |
Publication status | Published - 7 Sept 2017 |
Event | FHPC 2017 Workshop on Functional High-Performance Computing - Oxford, United Kingdom Duration: 7 Sept 2017 → 7 Sept 2017 https://icfp17.sigplan.org/track/FHPC-2017-papers |
Workshop
Workshop | FHPC 2017 Workshop on Functional High-Performance Computing |
---|---|
Abbreviated title | FHPC |
Country/Territory | United Kingdom |
City | Oxford |
Period | 7/09/17 → 7/09/17 |
Internet address |
Keywords
- Program slicing
- Recursion schemes
- Patten discovery
- Parallelism
Fingerprint
Dive into the research topics of 'In search of a map: using program slicing to discover potential parallelism in recursive functions'. Together they form a unique fingerprint.Projects
- 4 Finished
-
Discovery: Pattern Discovery and Program: Discovery: Pattern Discovery and Program Shaping for Manycore Systems
Thomson, J. D. (PI), Hammond, K. (CoI) & Sarkar, S. (CoI)
1/07/17 → 31/12/20
Project: Standard
-
H2020 Collaboration REPHRASE: H2020 Collaboration 2014 - RePhrase
Hammond, K. (PI)
1/04/15 → 31/03/18
Project: Standard
-