PeerJ Computer Science (Feb 2023)

A Halo abstraction for distributed n-dimensional structured grids within the C++ PGAS library DASH

  • Denis Hünich,
  • Andreas Knüpfer

DOI
https://doi.org/10.7717/peerj-cs.1203
Journal volume & issue
Vol. 9
p. e1203

Abstract

Read online Read online

The Partitioned Global Address Space (PGAS) library DASH provides C++ container classes for distributed N-dimensional structured grids. This article presents enhancements on top of the DASH library to support stencil operations and halo areas to conveniently and efficiently parallelize structured grids. The improvements include definitions of multiple stencil operators, automatic derivation of halo sizes, efficient halo data exchanges, as well as communication hiding optimizations. The main contributions of this article are two-fold. First, the halo abstraction concept and the halo wrapper software components are explained. Second, the code complexity and the runtime of an example code implemented in DASH and pure Message Passing Interface (MPI) are compared.

Keywords