A Divide-and-Conquer Parallel Pattern Implementation for Multicores
Authors/Creators
- 1. University of Pisa
Description
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 paral- lelism 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 program- mers a high-level solution for fast prototyping parallel DaC programs on multicores with minimal programming effort.
Following the rationale of parallel design pattern method- ology, we design a C++11-compliant template interface for developing parallel DaC programs. The interface is imple- mented 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 effective- ness of our approach: with a reduced programming effort the programmer easily prototypes parallel versions with perfor- mance comparable with hand-made parallelizations.
Files
exp.zip
Files
(113.3 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:47afc454d1f0ed9d50b573d031e6933a
|
113.3 kB | Preview Download |