C tool writers are forced to deal with a number of Fortran and C interoperability issues when intercepting MPI routines and completing them with PMPI. The C based tool has to intercept the Fortran MPI routines and marshal arguments between C and Fortran, which is not always easily done from C. Further, there is a subset of MPI routines that need to call PMPI from the original language they were called from, forcing the C tool to go back to a Fortran layer. Combined, these issues make writing tools that apply to C and Fortran applications both error-prone and time consuming. In this paper, we present WMPI, a wrapper generator that solves these issues by generating multiple lightweight wrappers to handle the marshalling, correct language specific reentry and other incompatibilities.
['Søren Rasmussen', 'Martin Schulz', 'Kathryn Mohror']
Allowing MPI tools builders to forget about Fortran