AIMES

With the Advanced Computation and I/O Methods for Earth-System Simulations (AIMES) project we will address the key issues of programmability, computational efficiency and I/O limitations that are common in next-generation icosahedral earth-system models. Ultimately, with the project we intend to foster development of best-practices and useful norms by cooperating on shared ideas and components. During the project, we will ensure that the developed concepts and tools are not only applicable for earth-science but for other scientific domains as well.

The project is funded by the Deutsche Forschungsgemeinschaft (DFG), the Japan Science and Technology Agency (JST) and the L'Agence nationale de la recherche (ANR) in Frankreich.

Please see our currently ongoing standardization effort for compression.

AIMES focuses on three goals:

We apply and advance concepts and tools for domain-specific languages on earth-system models to reach a higher-level of code design.

Firstly, the DSL will be able to be converted into existing language constructs and may reuse lower-level DSLs such as C++ template libraries. The language will offer a syntax to abstract from memory management and architecture that allows modellers to express the model operators in a natural and simple way and, thus, reduces code length and improves programmability.

Secondly, a light-weight source-to-source translation tool is developed that converts code enriched with the DSL into code for a given architecture. We explore different back-ends for automatic creation of code for a set of target languages and platforms, and especially conversion into existing DSL concepts that have proven to be performant yet may be difficult to learn and manage for scientists.

Thirdly, based on the common concept we develop and evaluate language dialects for NICAM, DYNAMICO and ICON kernels that allow to express the models in their respective natural formulation (each team may prefer other formulations). In contrast to existing tools and DSLs, we pioneer concepts and tools that enable scientists to create a small language to enrich code of a specific model with even higher-level constructs. They can also derive dialects from a common meta-dsl which enables sharing of similar concepts and transformations within communities. In practice, schemes for model-specific back-ends could be created by experienced domain scientists themselves, but in the best case by scientific programmers that are familiar with the particular meta-dsl. The code created by back-ends is then processed by existing tools from computer science. This separation of concerns provides advantages from both SW engineering point of view and architecture-specific performance.

Data handling is advanced by two complementing approaches: the investigation of suitable formats for icosahedral data and by pushing lossy compression forward. We will inform the responsible consortia about these results, propose strategies to overcome the current limitations and implement selected prototypes. For lossy compression, firstly, we develop an interface that allows users to set the required data properties. Secondly, we investigate methods and processes to (semi)-automatically propose these properties to the user such that compressed data cannot be scientifically distinguished from original data. Thirdly, we investigate and adapt existing schemes to improve their compression rate.

We extract the key-functionality and application-specific kernels from the three models into a shared open-source benchmark suite that represents behavior of icosahedral models. A common application-specific benchmark is a benefit by its own, because it provides a well-defined environment for computer scientists to experiment with optimization strategies. Based on this testbed we evaluate the created language dialects and tool infrastructure on small and large scale. The machine-specific code transformation allow generation of code for different CPU architectures, GPUs and the Xeon Phi.

Publications

Talks

People involved from WR

Organization

Leading Principal Investigator

  • Thomas Ludwig

Funded Partners

Principal Investigators

Additional Contributors

  • Hisashi Yashiro (RIKEN, Japan)
  • Ryuji Yoshida (RIKEN, Japan)
  • Hirofumi Tomita (RIKEN, Japan)
  • Masaki Satoh (Atmosphere and Ocean Research Institute, Tokyo, Japan)
  • John Thuburn (University of Exeter)

Collaborations

  • DWD
  • CSCS
  • Intel
  • NVIDIA
  • Bull
  • Cray
  • The HDF Group

Project Management

    • This deliverable discusses the extensions that have been developed for each of the three icosahedral models (DYNAMICO, ICON, and NICAM) under the “Higher-Level Code Design workpackage (WP1). A scientific introduction to the three models is provided first, and the requirements and the development procedure are described in brief. Then the developed extensions are discussed. The document provides code examples in two versions: the hand-written Fortran version, and the other version is written using the extensions.
    • This deliverable discusses the domain-specific language concepts with two DSLs. It discusses the development of the GGDML DSL, which is developed based on the model-specific needs that were discussed in the deliverable D1.1. It also discusses the development of Hybrid Fortran. The concepts are demonstrated, and experimental results are shown.
    • Nabeeh Jumah, Julian Kunkel, Günther Zängl, Hisashi Yashiro, Thomas Dubos, and Yann Meurdesoif. Journal of Computer Science Technology Updates (Volume 4 Issue 1), 2017.
  • D2.1 Data Formats for ICOsahedral Data
    • The goal of this task is to define a set of quantities that can be used for specification of maximum permissible data degradation, and thus, defining the variable accuracy. Examples are relative and absolute error (residual), but there are more quantities that are relevant. The quantities should serve as a basis for: 1) Noise level verification, which shows, if the value is below the desired threshold or not, and if it fulfills the desired constraints; 2) Generation of synthetic noise for given characteristics, so that users can simulate the effect of data compression and determine which noise level is acceptable for their purpose; 3) Creation of a user-guided API for data storage with lossy compression.
  • Impressum
  • Privacy
  • research/projects/hamburg/aimes/start.txt
  • Last modified: 2023-08-28 10:40
  • by 127.0.0.1