You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have attributes on communicators, windows and datatypes but not other handles.
One use case is a predefined attribute corresponding to the MPI_User_function input argument, so that middleware can implement reductions without calling MPI_{Allreduce,Reduce,Reduce_local}.
This requires the equivalence of data and function pointers, which is not defined by ISO C, but is required by POSIX here. We can just say that the attribute returns some special value on platforms where the function pointer cannot be returned, so that members of the Forum who worry about 16-bit DOS support can sleep at night.
Naming ops is nice for debugging purposes, in the same way that naming datatypes is nice.
Proposal
Add ops to the Caching subsection.
Changes to the Text
The copy-and-paste for this is pretty obvious.
Impact on Implementations
I will prototype in MPICH to demonstrate the ease of doing this.
Problem
We have attributes on communicators, windows and datatypes but not other handles.
One use case is a predefined attribute corresponding to the
MPI_User_function
input argument, so that middleware can implement reductions without callingMPI_{Allreduce,Reduce,Reduce_local}
.This requires the equivalence of data and function pointers, which is not defined by ISO C, but is required by POSIX here. We can just say that the attribute returns some special value on platforms where the function pointer cannot be returned, so that members of the Forum who worry about 16-bit DOS support can sleep at night.
Naming ops is nice for debugging purposes, in the same way that naming datatypes is nice.
Proposal
Add ops to the Caching subsection.
Changes to the Text
The copy-and-paste for this is pretty obvious.
Impact on Implementations
I will prototype in MPICH to demonstrate the ease of doing this.
Impact on Users
References and Pull Requests
#664
The text was updated successfully, but these errors were encountered: