Published 6 issues per year
ISSN Print: 1543-1649
ISSN Online: 1940-4352
Indexed in
A Multilingual Programming Model for Coupled Systems
ABSTRACT
Multiphysics and multiscale simulation systems share a common software requirement-infrastructure to implement data exchanges between their constituent parts-often called the coupling problem. On distributed-memory parallel platforms, the coupling problem is complicated by the need to describe, transfer, and transform distributed data, known as the parallel coupling problem. Parallel coupling is emerging as a new grand challenge in computational science as scientists attempt to build multiscale and multiphysics systems on parallel platforms. An additional coupling problem in these systems is language interoperability between their constituent codes. We have created a multilingual parallel coupling programming model based on a successful open-source parallel coupling library, the Model Coupling Toolkit (MCT). This programming model's capabilities reach beyond MCT's native Fortran implementation to include bindings for the C++ and Python programming languages. We describe the method used to generate the interlanguage bindings. This approach enables an object-based programming model for implementing parallel couplings in non-Fortran coupled systems and in systems with language heterogeneity. We describe the C++ and Python versions of the MCT programming model and provide short examples. We report preliminary performance results for the MCT interpolation benchmark. We describe a major Python application that uses the MCT Python bindings, a Python implementation of the control and coupling infrastructure for the community climate system model. We conclude with a discussion of the significance of this work to productivity computing in multidisciplinary computational science.
-
Sloot P. M.A., Hoekstra A. G., Multi-scale modelling in computational biomedicine, Briefings in Bioinformatics, 11, 1, 2010. Crossref
-
Margara Alessandro, Pezze Mauro, Pivkin Igor V., Santoro Mauro, Towards an Engineering Methodology for Multi-model Scientific Simulations, 2015 IEEE/ACM 1st International Workshop on Software Engineering for High Performance Computing in Science, 2015. Crossref
-
Jacob Robert, Larson Jay, The Model Coupling Toolkit, in Earth System Modelling - Volume 3, 2012. Crossref