TY - GEN
T1 - Allowing MPI tools builders to forget about Fortran
AU - Rasmussen, Soren
AU - Schulz, Martin
AU - Mohror, Kathryn
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/9/25
Y1 - 2016/9/25
N2 - 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.
AB - 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.
KW - Code generation
KW - MPI
KW - Profiling
KW - Tools
UR - http://www.scopus.com/inward/record.url?scp=84995588329&partnerID=8YFLogxK
U2 - 10.1145/2966884.2966889
DO - 10.1145/2966884.2966889
M3 - Conference contribution
AN - SCOPUS:84995588329
T3 - ACM International Conference Proceeding Series
SP - 208
EP - 211
BT - Proceedings of the 23rd European MPI Users' Group Meeting, EuroMPI 2016
PB - Association for Computing Machinery
T2 - 23rd European MPI Users' Group Meeting, EuroMPI 2016
Y2 - 25 September 2016 through 28 September 2016
ER -