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

Series: HPC Best Practices Webinars

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. In the same vein, some projects are actively moving key kernels from Fortran toward C++ to support performance portability models and other rapidly-developing, dynamic programming paradigms. How can a project smoothly connect existing Fortran code to new internal C++ kernels or external C++ libraries? SWIG-Fortran provides a solution with a wide range of flexibility, including support for performant data transfers, MPI support, and direct translation of C++ features to Fortran interfaces.


Presenter Bio

Seth Johnson specializes in high-performance computational radiation transport as a research staff member at Oak Ridge National Laboratory. Although his background is in nuclear engineering, with a B.S. from Texas A&M University and a Ph.D. from the University of Michigan, he finds himself researching software advancements more than performing traditional engineering analyses. Over his career, Seth has developed new methods and tools in hybrid deterministic–Monte Carlo transport, computational geometry, sensitivity/uncertainty methods, automated inter-language code binding, and high-energy physics.