Babel Fortran 2003 Binding for Structured Data Types
Babel is a tool aimed at the high-performance computing community that addresses the need for mixing programming languages (Java, Python, C, C++, Fortran 90, FORTRAN 77) in order to leverage the specific benefits of those languages. Scientific codes often rely on structured data types (structs, derived data types) to encapsulate data, and Babel has been lacking in this type of support until recently. We present a new language binding that focuses on their interoperability of C/C++ with Fortran 2003. The new binding builds on the existing Fortran 90 infrastructure by using the iso-c-binding module defined in the Fortran 2003 standard as the basis for C/C++ interoperability. We present the technical approach for the new binding and discuss our initial experiences in applying the binding in FACETS (Framework Application for Core-Edge Transport Simulations) to integrate C++ with legacy Fortran codes.
- Research Organization:
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 938498
- Report Number(s):
- LLNL-CONF-403478; TRN: US200820%%131
- Resource Relation:
- Conference: Presented at: PARA 08, Trondheim, Norway, May 13 - May 16, 2008
- Country of Publication:
- United States
- Language:
- English
Similar Records
Preliminary Thoughts on Introducing Structs to SIDL/Babel: White Paper
Progress report for FACETS (Framework Application for Core-Edge Transport Simulations): C.S. SAP