Existing software integration frameworks typically require large manual rewrites of existing codes, or specific tailoring of codes written to be used in the framework. The result is usually a special-purpose code which is not usable outside of the framework. In this paper, we propose an alternative to that model - a framework that requires little hand-modification of the programs which use it. Our proposed framework is compiler-based, mesh-aware, numerics-aware, and physics-aware. Descriptions of the codes and the system make it possible to semi-automatically generate interfacing code, while the internal parallelization, communication and numerical solution methods are left intact. We report on some preliminary experiments with an automatic load balancing framework that demonstrate the feasibility of this approach.
Eric de Sturler, Jay Hoeflinger, Laxmikant V. Kal&