MPI user-defined reductions with datatypes relative to MPI_BOTTOM
It seems that - because the signature of MPI_User_function only allows one MPI_Datatype - there is no way to perform a user-defined reduction on a datatype that uses addresses i.e. displacements relative to MPI_BOTTOM. Am I wrong? I wanted to use MPI_Type_create_hindexed_block to create a type consisting of two contiguous vectors, where the second vector is dynamically allocated and thus each instance of this type will have a different offset relative to the first. It seems the only way to do what I want is to allocate a contiguous buffers that can hold both vectors contiguously, which increases my memory consumption by 50%, and copy to/from it before/after the reduction. Are there any significant errors in what I've said? Jim Dinan already proposed a ticket that addresses at least part of this, but I haven't seen any activity on it lately. Thanks, Jeff -- Jeff Hammond [email protected] http://jeffhammond.github.io/
participants (1)
-
Jeff Hammond