algorithmic skeletons
Recently Published Documents


TOTAL DOCUMENTS

61
(FIVE YEARS 9)

H-INDEX

11
(FIVE YEARS 1)

Author(s):  
Breno A. de Melo Menezes ◽  
Nina Herrmann ◽  
Herbert Kuchen ◽  
Fernando Buarque de Lima Neto

AbstractParallel implementations of swarm intelligence algorithms such as the ant colony optimization (ACO) have been widely used to shorten the execution time when solving complex optimization problems. When aiming for a GPU environment, developing efficient parallel versions of such algorithms using CUDA can be a difficult and error-prone task even for experienced programmers. To overcome this issue, the parallel programming model of Algorithmic Skeletons simplifies parallel programs by abstracting from low-level features. This is realized by defining common programming patterns (e.g. map, fold and zip) that later on will be converted to efficient parallel code. In this paper, we show how algorithmic skeletons formulated in the domain specific language Musket can cope with the development of a parallel implementation of ACO and how that compares to a low-level implementation. Our experimental results show that Musket suits the development of ACO. Besides making it easier for the programmer to deal with the parallelization aspects, Musket generates high performance code with similar execution times when compared to low-level implementations.


Author(s):  
Marco Danelutto ◽  
Gabriele Mencagli ◽  
Massimo Torquati ◽  
Horacio González–Vélez ◽  
Peter Kilpatrick

AbstractThis paper discusses the impact of structured parallel programming methodologies in state-of-the-art industrial and research parallel programming frameworks. We first recap the main ideas underpinning structured parallel programming models and then present the concepts of algorithmic skeletons and parallel design patterns. We then discuss how such concepts have permeated the wider parallel programming community. Finally, we give our personal overview—as researchers active for more than two decades in the parallel programming models and frameworks area—of the process that led to the adoption of these concepts in state-of-the-art industrial and research parallel programming frameworks, and the perspectives they open in relation to the exploitation of forthcoming massively-parallel (both general and special-purpose) architectures.


2020 ◽  
Vol 48 (4) ◽  
pp. 583-602
Author(s):  
Christopher Brown ◽  
Vladimir Janjic ◽  
M. Goli ◽  
J. McCall

Abstract This paper presents a new technique for introducing and tuning parallelism for heterogeneous shared-memory systems (comprising a mixture of CPUs and GPUs), using a combination of algorithmic skeletons (such as farms and pipelines), Monte–Carlo tree search for deriving mappings of tasks to available hardware resources, and refactoring tool support for applying the patterns and mappings in an easy and effective way. Using our approach, we demonstrate easily obtainable, significant and scalable speedups on a number of case studies showing speedups of up to 41 over the sequential code on a 24-core machine with one GPU. We also demonstrate that the speedups obtained by mappings derived by the MCTS algorithm are within 5–15% of the best-obtained manual parallelisation.


Author(s):  
Alireza Majidi ◽  
Nathan Thomas ◽  
Timmie Smith ◽  
Nancy Amato ◽  
Lawrence Rauchwerger

2018 ◽  
Vol 47 (2) ◽  
pp. 234-252 ◽  
Author(s):  
Fabian Wrede ◽  
Breno Menezes ◽  
Herbert Kuchen

Sign in / Sign up

Export Citation Format

Share Document