Automated Fortran--C++ Bindings for Large-Scale Scientific Applications

04/04/2019
by   Seth R. Johnson, et al.
0

Although many active scientific codes use modern Fortran, most contemporary scientific software "libraries" are implemented in C and C++. Providing their numerical, algorithmic, or data management features to Fortran codes requires writing and maintaining substantial amounts of glue code. This article introduces a tool that automatically generates native Fortran 2003 interfaces to C and C++ libraries. The tool supports C++ features that have no direct Fortran analog, such as templated functions and exceptions. A set of simple examples demonstrate the utility and scope of the tool, and timing measurements with a mock numerical library illustrate the minimal performance impact of the generated wrapper code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/06/2021

Toward Interlanguage Parallel Scripting for Distributed-Memory Scientific Computing

Scripting languages such as Python and R have been widely adopted as too...
research
08/13/2019

Type-Directed Program Synthesis and Constraint Generation for Library Portability

Fast numerical libraries have been a cornerstone of scientific computing...
research
08/13/2019

Type-Directed Program Synthesis and Constraint Generation for Accelerator Library Portability

Fast numerical libraries have been a cornerstone of scientific computing...
research
10/25/2018

Fine-Grained Library Customization

Code bloat widely exists in production-run software. Left untackled, it ...
research
06/28/2022

Improving Tese Case Generation for Python Native Libraries Through Constraints on Input Data Structures

Modern Python projects execute computational functions using native libr...
research
03/07/2019

SAVIME: A Multidimensional System for the Analysis and Visualization of Simulation Data

Scientific applications produce a huge amount of data, which imposes ser...
research
03/20/2018

Generic Library Interception for Improved Performance Measurement and Insight

As applications grow in capability, they also grow in complexity. This c...

Please sign up or login with your details

Forgot password? Click here to reset