A Domain-Specific Language and Editor for Parallel Particle Methods

A Domain-Specific Language and Editor for Parallel Particle Methods
复制标题

DOI:
10.1145/3175659
复制
发表时间:
2018-04-01
影响因子:
2.7
通讯作者:
Sbalzarini, Ivo F.
Sbalzarini, Ivo F.
中科院分区:
计算机科学3区
文献类型:
--
作者:
Karol, Sven;Nett, Tobias;Sbalzarini, Ivo F.

文献摘要

被引文献

相似文献

领域特定语言 (DSL) 在科学高性能计算中变得越来越重要,可以降低开发成本、提高抽象级别,从而简化科学编程。然而,设计 DSL 并不容易,因为它需要应用领域的知识以及语言工程和编译器方面的经验。因此,许多 DSL 遵循使用宏或文本生成器的弱方法,缺乏许多使 DSL 适合程序员使用的功能。其中一些功能(例如语法突出显示、类型推断、错误报告)可以通过语言工作台轻松提供,这些工作台将语言工程技术和工具结合在一个公共生态系统中。在本文中,我们介绍了并行粒子网格环境 (PPME),这是一种基于粒子方法和混合粒子网格方法的数值模拟的 DSL 和开发环境。 PPME 使用元编程系统,一个投影语言工作台。 PPME 是并行粒子网格语言的后继者,并行粒子网格语言是一种基于 Fortran 的 DSL,使用传统的实现策略。我们分析和比较这两种语言,并演示如何使用静态分析和投影编辑(即受语法约束的代码结构编辑,而不是自由文本编辑)来改善程序员的体验。我们提出了粒子抽象的显式域模型和粒子方法的第一个形式类型系统。 3
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 DSLs is not easy, 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 comfortable for programmers. Some of these features-e.g., syntax highlighting, type inference, error reporting-are easily provided by language workbenches, which combine language engineering techniques and tools in a common ecosystem. In this article, 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, a projectional language workbench. PPME is the successor of the Parallel Particle-Mesh Language, a Fortran-based DSL that uses conventional implementation strategies. We analyze and compare both languages and demonstrate how the programmer's experience is improved using static analyses and projectional editing, i.e., code-structure editing, constrained by syntax, as opposed to free-text editing. We present an explicit domain model for particle abstractions and the first formal type system for particle methods. 3