High-performance language interoperability for scientific computing through Babel

  • Authors:
  • Thomas Gw Epperly;Gary Kumfert;Tamara Dahlgren;Dietmar Ebner;Jim Leek;Adrian Prantl;Scott Kohn

  • Affiliations:
  • Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA;Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA;Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA;Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA;Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA;Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA;Center for Applied Scientific Computing, Lawrence Livermore National Laboratory, Livermore, CA, USA

  • Venue:
  • International Journal of High Performance Computing Applications
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

High-performance scientific applications are usually built from software modules written in multiple programming languages. This raises the issue of language interoperability which involves making calls between languages, converting basic types, and bridging disparate programming models. Babel provides a feature-rich, extensible, high-performance solution to the language interoperability problem currently supporting C, C++, FORTRAN 77, Fortran 90/95, Fortran 2003/2008, Python, and Java. Babel supports object-oriented programming features and interface semantics with runtime enforcement. In addition to in-process language interoperability, Babel includes remote method invocation to support hybrid parallel and distributed computing paradigms.