We present DASH, a C++ template library that offers distributed data structures and parallel algorithms and implements a compiler-free PGAS (partitioned global address space) approach. DASH offers many productivity and performance features such as global-view data structures, efficient support for the owner-computes model, flexible multidimensional data distribution schemes and inter-operability with STL (standard template library) algorithms. DASH also features a flexible representation of the parallel target machine and allows the exploitation of several hierarchically organized levels of locality through a concept of Teams. We evaluate DASH on a number of benchmark applications and we port a scientific proxy application using the MPI two-sided model to DASH. We find that DASH offers excellent productivity and performance and demonstrate scalability up to 9800 cores.
@article{arxiv.1610.01482,
title = {DASH: A C++ PGAS Library for Distributed Data Structures and Parallel Algorithms},
author = {Karl Fürlinger and Tobias Fuchs and Roger Kowalewski},
journal= {arXiv preprint arXiv:1610.01482},
year = {2016}
}
Comments
Accepted for publication at HPCC 2016, 12-14 December 2016, Syndey Australia