A Domain-Specific Language and Editor for Parallel Particle Methods

03/31/2017
by   Sven Karol, et al.
0

Domain-specific languages (DSLs) are of increasing importance in scientific high-performance computing to reduce development costs, raise the level of abstraction and, thus, ease scientific programming. However, designing and implementing DSLs is not an easy task, as it requires knowledge of the application domain and experience in language engineering and compilers. Consequently, many DSLs follow a weak approach using macros or text generators, which lack many of the features that make a DSL a comfortable for programmers. Some of these features---e.g., syntax highlighting, type inference, error reporting, and code completion---are easily provided by language workbenches, which combine language engineering techniques and tools in a common ecosystem. In this paper, we present the Parallel Particle-Mesh Environment (PPME), a DSL and development environment for numerical simulations based on particle methods and hybrid particle-mesh methods. PPME uses the meta programming system (MPS), a projectional language workbench. PPME is the successor of the Parallel Particle-Mesh Language (PPML), a Fortran-based DSL that used conventional implementation strategies. We analyze and compare both languages and demonstrate how the programmer's experience can be improved using static analyses and projectional editing. Furthermore, we present an explicit domain model for particle abstractions and the first formal type system for particle methods.

READ FULL TEXT

page 6

page 14

research
02/14/2019

We should Stop Claiming Generality in our Domain-Specific Language Papers

Our community believes that new domain-specific languages should be as g...
research
02/14/2020

Implementing a Language for Distributed Systems: Choices and Experiences with Type Level and Macro Programming in Scala

Multitier programming languages reduce the complexity of developing dist...
research
04/20/2018

OpenFPM: A scalable open framework for particle and particle-mesh codes on parallel computers

Scalable and efficient numerical simulations continue to gain importance...
research
02/14/2020

Bacatá: Notebooks for DSLs, Almost for Free

Context: Computational notebooks are a contemporary style of literate pr...
research
05/22/2023

Swift: A modern highly-parallel gravity and smoothed particle hydrodynamics solver for astrophysical and cosmological applications

Numerical simulations have become one of the key tools used by theorists...
research
12/03/2019

A Formal Approach to the Engineering of Domain-Specific Distributed Systems

We review some results regarding specification, programming and verifica...
research
07/15/2021

Improving I/O Performance for Exascale Applications through Online Data Layout Reorganization

The applications being developed within the U.S. Exascale Computing Proj...

Please sign up or login with your details

Forgot password? Click here to reset