<div dir="ltr">It seems that - because the signature of <span style="color:rgb(0,0,0)">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?</span><div><font color="#000000"><br></font></div><div><font color="#000000">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.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">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.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">Are there any significant errors in what I've said?</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">Jim Dinan already proposed a ticket that addresses at least part of this, but I haven't seen any activity on it lately.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">Thanks,</font></div><div><font color="#000000"><br>Jeff<br></font><div><br></div>-- <br><div class="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</div></div>