Software Technology

Mathematical Libraries

ForTrilinos: Sustainable Production Fortran Interoperability with Trilinos Libraries

Principal Investigators: Kate Evans, Oak Ridge National Laboratory (ORNL); Andrey Prokopenko, ORNL

ForTrilinos provides a seamless pathway for large and complex Fortran-based codes to access Trilinos without C/C++ interface code. This access includes Fortran versions of Kokkos abstractions for code execution and data management. The project uses an interface generator, SWIG, which the project is extending, to create the object-oriented Fotran wrapper code that users can access directly. This language translation will occur in both directions; ForTrilinos will provide an inversion of control functionality that enables custom extensions of the Trilinos solvers that are Fortran-based. Once the ForTrilinos project is complete, a functional, extensible suite of capabilities to access Trilinos on next-generation computing systems will be provided. Several examples of this technology will be demonstrated within ECP codes with the aim of meeting their simulation goals and illustrate the technology to other Fortran-based ECP codes. As a second benefit to ECP from this effort, the Fortrilinos approach of using SWIG to generate interfaces could be extended to other C/C++ based tools and software within the ECP stable.