12 15 2021 - mpiwg-hybrid/hybrid-issues GitHub Wiki

Threading Discussion

New issues identified:

  • As written, the text applies to any usage involving threads, e.g. THREAD_MULTIPLE and THREAD_SERIALIZED
  • User level threads came up as a useful example
    • What does the MPI library identify as a thread? MPI might have a different idea of what a thread is than the user program.
    • Does the MPI library see only the shepherd (OS) threads or does it see the user level threads?
    • Migration of user-level threads to another shepherd thread can violate same thread ordering requirements, unless the MPI library can see user level threads and not just the shepherds.
  • Need to explore the receive-side for a multithreaded sender (e.g. single threaded receiver)

Conclusions:

  • Identified that Forum members identified as both camps A and B with multithreaded examples
    • Validated that we have both camps A and B and that A is not aware of B and vice versa
  • Reached agreement among most Forum members that the text is ambiguous.

MPI_Pbuf_prepare Discussion

  • Discussed the text which states that MPI_Pbuf_prepare behaves like a two process collective operation.
  • Identified that MPI_Pbuf_prepare is analogous to the receiver of the partitioned operation performing and send operation and the sender of the partitioned operation performing a corresponding recv.