当前位置: X-MOL 学术Comput. Phys. Commun. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
AllScale toolchain pilot applications: PDE based solvers using a parallel development environment
Computer Physics Communications ( IF 7.2 ) Pub Date : 2020-06-01 , DOI: 10.1016/j.cpc.2019.107089
Fearghal O’Donncha , Roman Iakymchuk , Albert Akhriev , Philipp Gschwandtner , Peter Thoman , Thomas Heller , Xavier Aguilar , Kiril Dichev , Charles Gillan , Stefano Markidis , Erwin Laure , Emanuele Ragnoli , Vassilis Vassiliadis , Michael Johnston , Herbert Jordan , Thomas Fahringer

Abstract AllScale is a programming environment targeting simplified development of highly scalable parallel applications by dividing development responsibilities into silos. The front-end AllScale API provides a simple C++ development environment through a suite of parallel constructs expressions denoting tasks operating concurrently. This interfaces with the other components of the toolchain (core-level API, compiler and runtime) which manages tasks related to the machine and system level, hidden to the user. The paper describes 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. We present mathematical formulations and implementations and 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 applications with distinct numerical characteristics. 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.

中文翻译:

AllScale 工具链试点应用程序:使用并行开发环境的基于 PDE 的求解器

摘要 AllScale 是一种编程环境,旨在通过将开发职责划分为孤岛来简化高度可扩展的并行应用程序的开发。前端 AllScale API 通过一组表示并发操作的任务的并行构造表达式提供了一个简单的 C++ 开发环境。这与工具链的其他组件(核心级 API、编译器和运行时)接口,后者管理与机器和系统级相关的任务,对用户隐藏。该论文描述了 AllScale API 中两个大规模并行应用程序的开发,即具有数据同化的对流-扩散模型和基于细胞内粒子方法的拉格朗日空间天气模拟模型。我们展示了数学公式和实现,并评估了使用 AllScale API 开发的并行结构。从并行可扩展性和更重要的生产力的角度评估应用程序的性能。我们演示了 AllScale API 如何在具有不同数值特征的两个应用程序中保持并行性能的同时极大地提高开发人员的工作效率。代码复杂性指标表明,应用特定的实现减少了多达 30%,而在三个不同计算系统上的性能测试表明,与代码的 MPI 版本相当的并行可扩展性。我们演示了 AllScale API 如何在具有不同数值特征的两个应用程序中保持并行性能的同时极大地提高开发人员的工作效率。代码复杂性指标表明,应用特定的实现减少了高达 30%,而在三个不同计算系统上的性能测试表明,与代码的 MPI 版本相当的并行可扩展性。我们演示了 AllScale API 如何在具有不同数值特征的两个应用程序中保持并行性能的同时极大地提高开发人员的工作效率。代码复杂性指标表明,应用特定的实现减少了多达 30%,而在三个不同计算系统上的性能测试表明,与代码的 MPI 版本相当的并行可扩展性。
更新日期:2020-06-01
down
wechat
bug