ESCAPE-2‎ > ‎Project structure‎ > ‎

WP2: Programming Models & Domain-specific Languages

Aim: WP2 will define, develop, and apply a DSL toolchain applicable to a comprehensive list of weather and climate dwarfs. The code adaptation and code generation via the DSL toolchain will be demonstrated for a number of representative and fundamentally different mathematical algorithms and horizontal discretizations. Moreover, WP2 will develop and promote APIs and generic interfaces across the DSL toolchain in order to improve reusability and inter-operability, and leverage code adaptation to emerging HPC architectures.

Approach and methodology: WP2 will build heavily on developments and expertise from the ESCAPE project and leverage existing open-source technology. Dwarfs are used as vehicles to design, prototype and demonstrate the newly developed DSL toolchain, in particular in the design of the DSL front-end. Following the development of a high-level DSL specification involving community-wide experts in the process, a DSL front-end to parse and translate into high-level intermediate representation (HIR) is designed. Subsequent parts of the modular DSL toolchain will be developed based on existing, open-source technologies such as Atlas, GridTools, and clang. Finally, the DSL toolchain will be applied to a wide range of weather and climate dwarfs.

Suitability of the research approach: Community-wide involvement in the iterative development of a high-level DSL frontend language (including the associated design decisions) ensures a comprehensive coverage of requirements and is key to achieving broad support and adoption. Building on existing, open-source technologies and integration with existing DSL efforts in Switzerland will ensure exploitable results within the scope of the ESCAPE-2 project.

Measures for Success of the Work Package/ KPIs:  

  • DSL implementation of at least five dwarfs with increased readability and equal or better performance as compared to their reference implementation on any of the three targeted hardware architectures (x86 multi-core, NVIDIA Tesla, Intel Xeon Phi).