====== AIMES ====== {{ :research:projects:aimes:aimes-logo.png?300|}} 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 [[https://www.vi4io.org/std/compression|standardization effort for compression]]. ===== Objectives ===== AIMES focuses on three goals: ==== Enhance programmability ==== 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. ==== Increase storage efficiency ==== 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. ==== Provide a common benchmark for ICO models ==== 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. require_once('../php/common.php'); $ref = new CrossReferencer(); $ref->reference(DataLoader::ProjectsFilter, "AIMES"); ====== People involved from WR ====== * [[about:people:julian kunkel]] (Ansprechpartner) * Anastasiia Novikova * Nabeeh Jumah * Thomas Ludwig ====== Organization ====== === Leading Principal Investigator === * Thomas Ludwig === Funded Partners === * Thomas Ludwig [[http://www.uni-hamburg.de/index_e.html|University of Hamburg]] * Thomas Dubos [[http://www.polytechnique.edu/jsp/accueil.jsp?LANGUE=1|Ecole Polytechnique]], [[http://www.ipsl.fr/en|Institut Pierre Simon Laplace]] * Naoya Maruyama * Takayuki Aoki === Principal Investigators === * Thomas Ludwig [[http://www.uni-hamburg.de/index_e.html|University of Hamburg]] * Thomas Dubos [[http://www.polytechnique.edu/jsp/accueil.jsp?LANGUE=1|Ecole Polytechnique]], [[http://www.ipsl.fr/en|Institut Pierre Simon Laplace]] * Naoya Maruyama * Julian Kunkel (DKRZ, Germany) * Günther Zängl (DWD, Germany) * Hisashi Yashiro (RIKEN, Japan) === 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 === [[about:people:julian kunkel]] ==== Deliverables ==== * {{:research:projects:aimes:final-17-06-04.pdf|D1.1 Model-Specific Dialect Formulations}} * 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. * {{:research:projects:aimes:D1.2-18-03-19.pdf|D1.2 DSL Concepts for Icosahedral Models}} * 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. * {{http://dx.doi.org/10.15379/2410-2938.2017.04.01.01|GGDML: Icosahedral Models Language Extensions}} * 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 * {{:research:projects:aimes:d2.2-compression-report.pdf|D2.2 Compression Concepts}} * 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. * {{:research:projects:aimes:D4.2-18-03-19.pdf|D4.2 Project Coordination}}