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

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 gr...

Full description

Bibliographic Details
Main Authors: Denis Hünich, Andreas Knüpfer
Format: Article
Language:English
Published: PeerJ Inc. 2023-02-01
Series:PeerJ Computer Science
Subjects:
Online Access:https://peerj.com/articles/cs-1203.pdf
Description
Summary: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.
ISSN:2376-5992