Hi Ken,
I am working on implementing MPI_T events in MPICH and came across a potential issue. MPI_T_EVENT_SET_DROPPED_HANDLER does not take a user_data argument, but the callback signature and standard text suggest that it should be there.> The argument user_data is the pointer to user-allocated memory that was passed to the MPI implementation during callback registration.> Am I correct in understanding that user_data is specified for each callback registration? I.e. if a user registers callbacks for different safety levels, those callbacks can be associated with different user_data buffers. If so, it seems the dropped handler registration is missing this functionality. I think page 768, lines 33-37 clarifies the behavior:
"The argument cb_safety describes the safety requirements the callback must fulfill in the current invocation. [...] The argument user_data is the pointer to the user-allocated memory that was passed to the MPI implementation during callback registration." So I would pass the pointer that is associated with the safety level that would apply to the invocation. For me (although not explicitly defined in the text) that would imply that the dropped callback is only invoked once the library is in a state where a callback (and user_data) for the same level is defined and could be invoked. Does this make sense and clarify your concerns? Do you think this need more clarification in the text? What is the opinion of the others in the group? Does this sound reasonable? Is it underspecified? Cheers, Marc-Andre -- Dr. rer. nat. Marc-André Hermanns IT Center Group: High Performance Computing Division: Computational Science and Engineering RWTH Aachen University Seffenter Weg 23 52074 Aachen Phone: +49 241 80-24381 [email protected] www.itc.rwth-aachen.de Social Media Kanäle des IT Centers: https://blog.rwth-aachen.de/itc/ https://www.facebook.com/itcenterrwth https://www.linkedin.com/company/itcenterrwth https://twitter.com/ITCenterRWTH https://www.youtube.com/channel/UCKKDJJukeRwO0LP-ac8x8rQ