<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Minor Issue With Alltoall in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/Minor-Issue-With-Alltoall/m-p/772921#M227</link>
    <description>Hi David,&lt;BR /&gt;&lt;BR /&gt;Thank you for the post. We have submitted the issue to our tracker.&lt;BR /&gt;&lt;BR /&gt;--&lt;BR /&gt;Dmitry</description>
    <pubDate>Tue, 20 Dec 2011 10:41:05 GMT</pubDate>
    <dc:creator>Dmitry_S_Intel</dc:creator>
    <dc:date>2011-12-20T10:41:05Z</dc:date>
    <item>
      <title>Minor Issue With Alltoall</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Minor-Issue-With-Alltoall/m-p/772920#M226</link>
      <description>The work-around for this is rather obvious, but the behavior between MPI_Alltoall and MPI_Allgather is different as seen in the attached code. According to the standard for both -&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;DIV id="_mcePaste"&gt;The "in place" option for intracommunicators is speci&amp;#12;ed by passing the value&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;MPI_IN_PLACE to the argument sendbuf at all processes. sendcount and sendtype are ignored.&lt;/DIV&gt;The \\in place" option for intracommunicators is speci&amp;#12;ed by passing the value MPI_IN_PLACE to the argument sendbuf at all processes. sendcount and sendtype are ignored.&lt;BR /&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;As seen in the code, this works correctly for MPI_Allgather. For MPI_Alltoall, the following error occurs&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;Fatal error in MPI_Alltoall: Invalid datatype, error stack:&lt;/DIV&gt;&lt;DIV&gt;MPI_Alltoall(851): MPI_Alltoall(sbuf=MPI_IN_PLACE, scount=0, MPI_DATATYPE_NULL, rbuf=0x7fffbfbaa410, rcount=1, MPI_INT, MPI_COMM_WOR&lt;/DIV&gt;&lt;DIV&gt;LD) failed&lt;/DIV&gt;&lt;DIV&gt;MPI_Alltoall(740): Null Datatype pointer&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The MPI_DATATYPE_NULL should be ignored along with the scount.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;// test program for the MPI_Type_size bug&lt;/DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;// David Race&lt;/DIV&gt;&lt;DIV&gt;// 17 December 2011&lt;/DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;#include &lt;STDLIB.H&gt;&lt;/STDLIB.H&gt;&lt;/DIV&gt;&lt;DIV&gt;#include &lt;STDIO.H&gt;&lt;/STDIO.H&gt;&lt;/DIV&gt;&lt;DIV&gt;#include &lt;MATH.H&gt;&lt;/MATH.H&gt;&lt;/DIV&gt;&lt;DIV&gt;#include &lt;TIME.H&gt;&lt;/TIME.H&gt;&lt;/DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;// mpi&lt;/DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;#include "mpi.h"&lt;/DIV&gt;&lt;DIV&gt;#define MAX_SIZE 32&lt;/DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;//&lt;/DIV&gt;&lt;DIV&gt;int main ( int argc, char *argv[] )&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;// definitions&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;int&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;mpierror, isize, myRank;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;int&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;typeSize;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;int&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;valA[MAX_SIZE];&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;int&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;i;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;int&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;commRoot;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;// start processing&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;printf("Start of program\\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;printf("SIZE OF VALA %ld\\n",sizeof(valA));&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;mpierror = MPI_Init ( &amp;amp;argc, &amp;amp;argv );&lt;/DIV&gt;&lt;DIV&gt; &lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;mpierror = MPI_Comm_rank ( MPI_COMM_WORLD, &amp;amp;myRank );&lt;/DIV&gt;&lt;DIV&gt; &lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;mpierror = MPI_Comm_size ( MPI_COMM_WORLD, &amp;amp;isize );&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;MPI_Barrier(MPI_COMM_WORLD);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;// test the mpi_type_size using MPI_Allgather&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;if (myRank == 0) {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;printf("=====================================================\\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;printf("         Allgather             \\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;printf("=====================================================\\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;fflush(stdout);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;for(i=0;i&lt;ISIZE&gt; = 0;&lt;/ISIZE&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;valA[myRank] = myRank;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;mpierror = MPI_Allgather(MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, valA, 1, MPI_INT, MPI_COMM_WORLD);&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;if (myRank == 0) {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;for(i=0;i&lt;ISIZE&gt;);&lt;/ISIZE&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;fflush(stdout);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;MPI_Barrier(MPI_COMM_WORLD);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;// test the mpi_type_size using MPI_Alltoall&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;//&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;if (myRank == 0) {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;printf("=====================================================\\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;printf("         Alltoall             \\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;printf("=====================================================\\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;fflush(stdout);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;for(i=0;i&lt;ISIZE&gt; = i;&lt;/ISIZE&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;commRoot = 0;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;mpierror = MPI_Alltoall(MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, valA, 1, MPI_INT, MPI_COMM_WORLD);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;if (myRank == 0) {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;for(i=0;i&lt;ISIZE&gt;);&lt;/ISIZE&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;fflush(stdout);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;MPI_Barrier(MPI_COMM_WORLD);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;if (myRank == 1) {&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;for(i=0;i&lt;ISIZE&gt;);&lt;/ISIZE&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;fflush(stdout);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;}&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;MPI_Barrier(MPI_COMM_WORLD);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;mpierror = MPI_Finalize();&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;fflush(stdout);&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;printf("End of Program\\n");&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 19 Dec 2011 18:34:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Minor-Issue-With-Alltoall/m-p/772920#M226</guid>
      <dc:creator>David_Race</dc:creator>
      <dc:date>2011-12-19T18:34:22Z</dc:date>
    </item>
    <item>
      <title>Minor Issue With Alltoall</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/Minor-Issue-With-Alltoall/m-p/772921#M227</link>
      <description>Hi David,&lt;BR /&gt;&lt;BR /&gt;Thank you for the post. We have submitted the issue to our tracker.&lt;BR /&gt;&lt;BR /&gt;--&lt;BR /&gt;Dmitry</description>
      <pubDate>Tue, 20 Dec 2011 10:41:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/Minor-Issue-With-Alltoall/m-p/772921#M227</guid>
      <dc:creator>Dmitry_S_Intel</dc:creator>
      <dc:date>2011-12-20T10:41:05Z</dc:date>
    </item>
  </channel>
</rss>

