<div class="gmail_quote">On Tue, Dec 13, 2011 at 11:09, Dave Goodell <span dir="ltr">&lt;<a href="mailto:goodell@mcs.anl.gov">goodell@mcs.anl.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":lv">Some relevant reading on datatype equivalence: <a href="http://www.mcs.anl.gov/~goodell/pdfs/eurompi2010-type-marshalling.pdf" target="_blank">http://www.mcs.anl.gov/~goodell/pdfs/eurompi2010-type-marshalling.pdf</a><br>

<br></div></blockquote><div><br></div><div>Thanks Dave. According to this, &quot;Two datatypes are equivalent if they appear to have been created with the same sequence of calls (and arguments) and thus have the same typemap.&quot;</div>
<div><br></div><div>I&#39;m looking for, at a minimum, equivalence modulo MPI_Type_dup(), and preferably equivalence in that they describe the same types and layout (but may not have been created with the same sequence of calls). The latter may be too hard, and I&#39;m willing to live with equivalence modulo MPI_Type_dup() so I&#39;m writing that case now.</div>
<div><br></div><div>It does seem like a natural function to have available though, as a natural analogue to MPI_Comm_compare().</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":lv">
Let me dig around and see if I can find the code that we developed for that paper.  It didn&#39;t strictly compare types, but I&#39;m sure that the marshalling code could be easily adapted to do so.<br>
<br>
AFAIK there is nothing available in the MPI standard nor as an MPICH2 extension that would give you exactly what you want.  Everything would need to be based on MPI_Type_get_envelope/_get_contents.</div></blockquote></div>
<br><div>Okay, thanks.</div>