Abstract
Divide-and-Conquer (DaC) is a sequential programming paradigm which models a large class of algorithms used in real-life applications. Although suitable to extract parallelism in a straightforward way, the parallel implementation of DaC algorithms still requires some expertise in parallel programming tools by the programmer. In this paper we aim at providing to non-expert programmers a high-level solution for fast prototyping parallel DaC programs on multicores with minimal programming effort. Following the rationale of parallel design pattern methodology, we design a C++11-compliant template interface for developing parallel DaC programs. The interface is implemented using different back-end frameworks (i.e. OpenMP, Intel TBB and FastFlow) supporting source code reuse and a certain amount of performance portability. Experiments on a 24-core Intel server show the effectiveness of our approach: with a reduced programming effort the programmer easily prototypes parallel versions with performance comparable with hand-made parallelizations.
| Original language | English |
|---|---|
| Title of host publication | SEPS 2016 - Proceedings of the 3rd International Workshop on Software Engineering for Parallel Systems, co-located with SPLASH 2016 |
| Editors | A. Jannesari, Y. Sato, S. Winter |
| Publisher | Association for Computing Machinery, Inc |
| Pages | 10-19 |
| ISBN (Electronic) | 9781450346412 |
| DOIs | |
| Publication status | Published - 21 Oct 2016 |
| Externally published | Yes |
| Event | 3rd International Workshop on Software Engineering for Parallel Systems, SEPS 2016 - Amsterdam, Netherlands Duration: 1 Nov 2016 → … |
Conference
| Conference | 3rd International Workshop on Software Engineering for Parallel Systems, SEPS 2016 |
|---|---|
| Country/Territory | Netherlands |
| City | Amsterdam |
| Period | 1/11/16 → … |
UN SDGs
This output contributes to the following UN Sustainable Development Goals (SDGs)
-
SDG 7 Affordable and Clean Energy
Fingerprint
Dive into the research topics of 'A divide-and-conquer parallel pattern implementation for multicores'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver