Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Babel Fortran 2003 Binding for Structured Data Types

Conference ·
OSTI ID:938498

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 Laboratory (LLNL), Livermore, CA
Sponsoring Organization:
USDOE
DOE Contract Number:
W-7405-ENG-48
OSTI ID:
938498
Report Number(s):
LLNL-CONF-403478
Country of Publication:
United States
Language:
English

Similar Records

Multi-language Struct Support in Babel
Conference · Tue Mar 22 00:00:00 EDT 2011 · OSTI ID:1030209

Preliminary Thoughts on Introducing Structs to SIDL/Babel: White Paper
Technical Report · Wed Jan 07 23:00:00 EST 2004 · OSTI ID:15009763

CHASM : Static Analysis and Automatic Code Generation for Improved Fortran 90 and C++ Interoperability /
Conference · Sun Dec 31 23:00:00 EST 2000 · OSTI ID:975726