@inproceedings{433218658a7d4dfd97a070291e125cbc,
title = "Nested parallelism with algorithmic skeletons",
abstract = "Nested parallelism is a natural way to express programs for hierarchical systems. It enables a compositional programming approach that can then be mapped onto the system hierarchy. In this paper, we present nested algorithm composition in the STAPL Skeleton Library (SSL) which uses a nested dataflow model as its internal representation. We show how a high level program specification using SSL allows for asynchronous computation and improved locality. We study both the specification and performance of the stapl implementation of Kripke, a mini-app developed by Lawrence Livermore National Laboratory. Kripke has multiple levels of parallelism and a number of data layouts, making it an excellent test bed to exercise the effectiveness of a nested parallel programming approach. Performance results are provided for six different nesting orders of the benchmark demonstrating the flexibility and performance of nested algorithmic skeleton composition in stapl.",
keywords = "Algorithmic skeletons, Dataflow, Kripke mini-app, Nested parallelism, Sweep algorithm",
author = "Alireza Majidi and Nathan Thomas and Timmie Smith and Nancy Amato and Lawrence Rauchwerger",
note = "Publisher Copyright: {\textcopyright} 2019, Springer Nature Switzerland AG.; 31st International Workshop on Languages and Compilers for Parallel Computing, LCPC 2018 ; Conference date: 09-10-2018 Through 11-10-2018",
year = "2019",
doi = "10.1007/978-3-030-34627-0_12",
language = "English (US)",
isbn = "9783030346263",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer",
pages = "159--175",
editor = "Mary Hall and Hari Sundar",
booktitle = "Languages and Compilers for Parallel Computing - 31st International Workshop, LCPC 2018, Revised Selected Papers",
address = "Germany",
}