2016 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP) 2016
DOI: 10.1109/pdp.2016.122
|View full text |Cite
|
Sign up to set email alerts
|

RPL: A Domain-Specific Language for Designing and Implementing Parallel C++ Applications

Abstract: Abstract-Parallelising sequential applications is usually a very hard job, due to many different ways in which an application can be parallelised and a large number of programming models (each with its own advantages and disadvantages) that can be used. In this paper, we describe a method to semiautomatically generate and evaluate different parallelisations of the same application, allowing programmers to find the best parallelisation without significant manual reengineering of the code. We describe a novel, h… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0
1

Year Published

2016
2016
2021
2021

Publication Types

Select...
8
1

Relationship

1
8

Authors

Journals

citations
Cited by 17 publications
(16 citation statements)
references
References 19 publications
0
15
0
1
Order By: Relevance
“…We have tested our prototype on four standard benchmark programs: matrix multiplication, n-body, n-queens, and sumeuler, demonstrating that it can successfully expose the underlying recursion schemes. The corresponding parallel implementations achieve maximum speedups of 32.93 (21.66 using physical cores) for matrix multiplication, 27.08 (23.46 using physical cores) for n-body, 22.65 (20.48 using physical cores) for n-queens, and 30.50 (22.24 using physical cores) for sumeuler, on a 28-core hyper-threaded experimental testbed machine. Our technique is not restricted to Haskell, or to a specific set of recursion schemes, but is, in principle, completely general.…”
Section: Novel Contributionsmentioning
confidence: 99%
See 1 more Smart Citation
“…We have tested our prototype on four standard benchmark programs: matrix multiplication, n-body, n-queens, and sumeuler, demonstrating that it can successfully expose the underlying recursion schemes. The corresponding parallel implementations achieve maximum speedups of 32.93 (21.66 using physical cores) for matrix multiplication, 27.08 (23.46 using physical cores) for n-body, 22.65 (20.48 using physical cores) for n-queens, and 30.50 (22.24 using physical cores) for sumeuler, on a 28-core hyper-threaded experimental testbed machine. Our technique is not restricted to Haskell, or to a specific set of recursion schemes, but is, in principle, completely general.…”
Section: Novel Contributionsmentioning
confidence: 99%
“…Many implementations of these skeletons exist, e.g. [1,7,8,12,11,19,21,22,23], with some for multiple architectures such as GPUs, e.g. [5,13,24].…”
Section: Algorithmic Skeletons and Structured Parallelismmentioning
confidence: 99%
“…In a structured parallelism setting, Janjic et al [25] define a high-level DSL, the Refactoring Pattern Language (RPL), that aims to represent the parallel structure of a program, and capture its execution time. This DSL is a powerful tool, since it allows suitable parallelisations to be found for a given program, and then to apply them to a real C++ program.…”
Section: Related Workmentioning
confidence: 99%
“…To raise the level of abstraction in parallel software development for specific application domains, some research works proposed domain-specific languages (DSLs) built on top of pattern-based frameworks [10,41,56]. Their main aim is to help the domain experts to easily prototype different parallel variants of their code and to introduce parallel runtime optimizations in a more selective way.…”
Section: Parallel Pattern-based Approachesmentioning
confidence: 99%