MPI Tools the Easy Way
TimeTuesday, June 23rd4:15pm - 4:20pm
DescriptionThe MPI Standard provides the MPI Profiling Interface (PMPI) to allow external tools to intercept MPI library calls. This functionality is useful for debugging, correctness checks, communication optimization and many other uses. The value of the PMPI layer is clear, but the mechanisms involved in using the layer are cumbersome and not portable. The PMPI tools are required to be implemented in either C or Fortran. This makes rapid prototyping and tool development difficult for anything except the simplest tools. QMPI is a recently introduced alternative to PMPI, that allows multiple tools to inspect the same library calls made by an MPI application. However - as PMPI - it requires that all tools be implemented in either C or Fortran. We introduce QMPI-lite, which - for the first time - allows the development and integration of CPython compliant MPI tools at runtime. Python provides quick prototyping capability, flexibility in programming and a vast standard library. Hence, via QMPI-lite these features will be accessible for MPI tool development as well. Allowing immense flexibility and ease when implementing and developing MPI tools, optimization layers, runtime monitoring mechanisms and debuggers.