Language interoperability for high-performance parallel scientific components
With the increasing complexity and interdisciplinary nature of scientific applications, code reuse is becoming increasingly important in scientific computing. One method for facilitating code reuse is the use of components technologies, which have been used widely in industry. However, components have only recently worked their way into scientific computing. Language interoperability is an important underlying technology for these component architectures. In this paper, we present an approach to language interoperability for a high-performance parallel, component architecture being developed by the Common Component Architecture (CCA) group. Our approach is based on Interface Definition Language (IDL) techniques. We have developed a Scientific Interface Definition Language (SIDL), as well as bindings to C and Fortran. We have also developed a SIDL compiler and run-time library support for reference counting, reflection, object management, and exception handling (Babel). Results from using Babel to call a standard numerical solver library (written in C) from C and Fortran show that the cost of using Babel is minimal, where as the savings in development time and the benefits of object-oriented development support for C and Fortran far outweigh the costs.
- Research Organization:
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE Office of Defense Programs (DP) (US)
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 14301
- Report Number(s):
- UCRL-JC-134260; YN0100000; 99-ERD-078; YN0100000; 99-ERD-078; TRN: AH200136%%443
- Resource Relation:
- Conference: International Symposium on Computing in Object-Oriented Parallel Environments, San Francisco, CA (US), 09/29/1999--10/02/1999; Other Information: PBD: 18 May 1999
- Country of Publication:
- United States
- Language:
- English
Similar Records
Multi-language Struct Support in Babel
Progress report for FACETS (Framework Application for Core-Edge Transport Simulations): C.S. SAP