Skip to content
Jeff Squyres edited this page Nov 28, 2016 · 1 revision

Meeting

  • Attendees

    • Jeff Squyres
    • Ryan Grant
    • Howard Pritchard
    • Dan Holmes
  • Slides for today

  • Discussion points for today:

    • Tools!

Notes from meeting

  • No Sessions WG meeting at Forum next week
  • What do Tools need?
    • Tools may well to have their own session, so if they have PMPI interfaces (e.g., intercept MPI_SEND), they may need to translate the user's communicator to their own communicator. Hence, we (finally) have a solid use case for needing to extract/translate a session-based handle (e.g., comm and/or group) to another session. E.g., tool intercepts MPI_SEND, translates the communicator to its own session, and re-does the send.
    • MPI_T has interfaces to bind to handles; we need to provide the updates to allow binding to sessions.
    • Does the MPI_T interface need anything else?
      • E.g., MPI_T_INIT is still basically global state (even though it's re-entrant)
      • Should MPI_T_INIT/FINALIZE become sessions-based?
      • ...let the MPI Tools WG worry about that
    • Uh oh! MPI_T has a "sessions" concept!
      • This is a bad name collision. :frown:
      • Do we need to rename "MPI sessions" to avoid ambiguity?
    • Another thing tools need to know: when the last handle is destroyed.
      • After discussion: we think tools need hooks/callbacks to know when the first X is created and when the last X is destroyed.
      • X can be: info, datatype, errhandler, and session.
      • X can also be MPI itself (!) -- e.g., be notified when MPI totally shuts itself down (which may be before the end of a process, or may be when the process is exiting).
        • This means that the interface to create for these hooks/callbacks must be in MPI_T (because it can't be in MPI!).
        • As such, let the Tools WG make the proposal for these hooks.
        • Meaning: sessions work "well enough" with tools, but the Tools WG may make a proposal to make sessions work better with tools.
    • There's a problem with pvars/cvars in a Morph-MPI style implementation. E.g.:
      • session A dlopen's Open MPI
      • session B dlopen's MPICH
      • what pvars and cvars are reported by MPI_T_INIT?
      • does this mean that MPI_T must move away from a global-state view of reality and move towards a session-based view of reality?
Clone this wiki locally