[Mpi-forum] MPI user-defined reductions with datatypes relative to MPI_BOTTOM

Jeff Hammond jeff.science at gmail.com
Tue Mar 7 18:33:04 CST 2017


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
jeff.science at gmail.com
http://jeffhammond.github.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpi-forum/attachments/20170307/ffab4130/attachment.html>


More information about the mpi-forum mailing list