A multilingual programming model for coupled systems.
2008
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 ofmore » 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.« less
Keywords:
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
23
References
6
Citations
NaN
KQI