There is a newer version of the record available.

Published November 23, 2018 | Version v1
Journal article Open

AllScale toolchain pilot applications: PDE based solvers using a parallel development environment

Description

AllScale is a programming environment targeting highly scalable parallel
applications,  simplifying application development in the ExaScale era by
siloing development responsibilities. The front-end AllScale API provides a simple C++
development environment and a suite of parallel constructs  denoting tasks to be
operated concurrently. Lower level tasks related to the machine and system level are
managed by the AllScale toolchain at the core level. We present the development of two
large-scale parallel applications within the AllScale API, namely, an advection-
diffusion model with data assimilation  and a Lagrangian space-weather simulation model
based on a particle-in-cell method.  Mathematical formulations and implementations are
presented and we evaluate parallel constructs developed using the AllScale API. The
performance of the applications from the perspective of both parallel scalability and
more importantly productivity are assessed. We demonstrate how the AllScale API can
greatly improve developer productivity while maintaining parallel performance in two
distinct applications. Code complexity metrics demonstrate reduction in application
specific implementations of up to 30% while performance tests on three different
compute systems demonstrate comparable parallel scalability to an MPI version of the
code.

Files

PilotApplicationsPublication.pdf

Files (488.3 kB)

Name Size Download all
md5:703f551858e866d24553c4c4106d0fd2
488.3 kB Preview Download

Additional details

Funding

ALLScale – An Exascale Programming, Multi-objective Optimisation and Resilience Management Environment Based on Nested Recursive Parallelism 671603
European Commission