Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
488156 | Procedia Computer Science | 2011 | 10 Pages |
A new challenge in scientific computing is to merge existing simulation models to create new higher fidelity combined (often multi-level) models. While this challenge has been a driving force in climate modeling for nearly a decade, fusion energy and space weather modeling are starting just now to integrate different sub-physics into a single model. Hence, the demand for novel software paradigms and tools increases drastically. A programming style that mixes task and data parallelism and enables concurrent execution of independent tasks on disjoint processor subsets is called multi-level parallelism. Combined models naturally map into this style, such that sub-models run simultaneously on different processor subgroups. In authors’ previous work, software interfaces supporting the model coupling based on component representations are proposed and shown to successfully combine multi-physics packages via an inter-model solver. In this paper, the inter-model solver, called Coupler, is extended for the execution in multiple processes rather than as a single process. In essence, the multiple program multiple data paradigm is applied to multi-physics coupling. A pure C++ implementation has been developed to bypass the application adaptation to the Common Component Architecture (CCA) framework used in the previous work and to generalize the proposed approach.