<?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 Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1289998#M8437</link>
    <description>&lt;P&gt;My steps were as follows:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;wget https://registrationcenter-download.intel.com/akdlm/irc_nas/17764/l_HPCKit_p_2021.2.0.2997_offline.sh
bash l_HPCKit_p_2021.2.0.2997_offline.sh -a -s --eula=accept --install-dir=/opt/intel/oneapi/ --intel-sw-improvement-program-consent=decline --components=intel.oneapi.lin.mpi.devel
source /opt/intel/oneapi/mpi/latest/env/vars.sh -i_mpi_library_kind=debug
mpicc -Wall --std=c11 -o test-mpi test-mpi.c
mpirun -np 2 ./test-mpi&lt;/LI-CODE&gt;
&lt;P&gt;The installation part is a bit of lying as I did installed it manually with the CLI but I'm pretty sure that's the effective configuration, I used.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Jun 2021 13:02:38 GMT</pubDate>
    <dc:creator>eherqgd</dc:creator>
    <dc:date>2021-06-15T13:02:38Z</dc:date>
    <item>
      <title>MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1289536#M8424</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I observed that my program, which worked fine with OpenMPI, did hang on MPI_Iprobe with Intel MPI. I could pinpoint the problem to the usage of MPI_ANY_SOURCE. When using a a loop over all communicator ranks instead of MPI_ANY_SOURCE, my program did work!&lt;/P&gt;
&lt;P&gt;Here is the minimal example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;/*
mpicc -Wall -std=c11 -o test-mpi mpi-probe-any-source-bug.c &amp;amp;&amp;amp; mpirun -np 2 ./test-mpi
*/

#include "mpi.h"

#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;unistd.h&amp;gt;


void
testIprobe()
{
    int rank = 0;
    int communicatorSize = 0;
    MPI_Comm_rank( MPI_COMM_WORLD, &amp;amp;rank );
    MPI_Comm_size( MPI_COMM_WORLD, &amp;amp;communicatorSize );

    if ( rank &amp;gt; 0 ) {
        const int message = rank;
        const int tag = rank;
        MPI_Send( &amp;amp;message, 1, MPI_INT, /* target rank */ 0, tag, MPI_COMM_WORLD );
        printf( "Sending message %i with tag : %i\n", message, tag );
     } else if ( rank == 0 ) {
        int flag = 0;
        MPI_Status status;

        while ( flag == 0 ) {
            int rc;
            //rc = MPI_Iprobe( 1, /* tag */ 1, MPI_COMM_WORLD, &amp;amp;flag, &amp;amp;status ); /* WORKS after &amp;lt;4s */
            //rc = MPI_Iprobe( 1, MPI_ANY_TAG, MPI_COMM_WORLD, &amp;amp;flag, &amp;amp;status ); /* WORKS after &amp;lt;4s */
            //rc = MPI_Iprobe( MPI_ANY_SOURCE, /* tag */ 1, MPI_COMM_WORLD, &amp;amp;flag, &amp;amp;status ); /* WILL NEVER RETURN TRUE! */
            rc = MPI_Iprobe( MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &amp;amp;flag, &amp;amp;status ); /* WILL NEVER RETURN TRUE! */
            printf( "After MPI_Iprobe, flag = %d, rc = %i\n", flag, rc );

            sleep( 1 );
        }

        printf( "Received from rank %d, with tag %d and error code %d.\n",
                status.MPI_SOURCE,
                status.MPI_TAG,
                status.MPI_ERROR );

        int message;
        MPI_Recv( &amp;amp;message, 1, MPI_INT, status.MPI_SOURCE, status.MPI_TAG, MPI_COMM_WORLD, MPI_STATUS_IGNORE );
    }
}


int main( int argc, char *argv[] )
{
    MPI_Init( &amp;amp;argc, &amp;amp;argv );

    char mpiVersion[MPI_MAX_LIBRARY_VERSION_STRING];
    int mpiVersionSize = 0;
    MPI_Get_library_version(mpiVersion, &amp;amp;mpiVersionSize);

    int rank = 0;
    MPI_Comm_rank( MPI_COMM_WORLD, &amp;amp;rank );
    if ( rank == 0 ) {
        printf( "MPI Version: %s\n", mpiVersion );
    }
    MPI_Barrier( MPI_COMM_WORLD );

    testIprobe();

    MPI_Finalize();
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I tested it with all installed versions on an HPC system and it worked for all available versions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Intel(R) MPI Library 2018 Update 1 for Linux* OS&lt;/LI&gt;
&lt;LI&gt;Intel(R) MPI Library 2018 Update 3 for Linux* OS&lt;/LI&gt;
&lt;LI&gt;Intel(R) MPI Library 2018 Update 4 for Linux* OS&lt;/LI&gt;
&lt;LI&gt;Intel(R) MPI Library 2018 Update 5 for Linux* OS&lt;/LI&gt;
&lt;LI&gt;Intel(R) MPI Library 2019 Update 7 for Linux* OS&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Example output for a working run:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;After MPI_Iprobe, flag = 0, rc = 0
Sending message 1 with tag : 1
After MPI_Iprobe, flag = 1, rc = 0
Received from rank 1, with tag 1 and error code 0.&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I can only reproduce the bug on the locally installed version:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Intel(R) MPI Library 2021.2 for Linux* OS&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Printing roughly one line per second because of the sleep(1), this is the output after ~20s:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;MPI Version: Intel(R) MPI Library 2021.2 for Linux* OS

After MPI_Iprobe, flag = 0, rc = 0
Sending message 1 with tag : 1
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
After MPI_Iprobe, flag = 0, rc = 0
^C[mpiexec@host] Sending Ctrl-C to processes as requested
[mpiexec@host] Press Ctrl-C again to force abort
After MPI_Iprobe, flag = 0, rc = 0
^C&lt;/LI-CODE&gt;
&lt;P&gt;This minimal example will finish successfully after replacing the MPI_ANY_SOURCE with rank 1 as noted in the commented code lines.&lt;/P&gt;
&lt;P&gt;And as mentioned, it will work even with the MPI_ANY_SOURCE when compiling with:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Open MPI v4.0.3, package: Debian OpenMPI, ident: 4.0.3, repo rev: v4.0.3, Mar 03, 2020&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;My local system runs Ubuntu 20.10. The HPC system runs: Linux 3.10.0 el7 x86_64.&lt;/P&gt;</description>
      <pubDate>Mon, 14 Jun 2021 07:01:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1289536#M8424</guid>
      <dc:creator>eherqgd</dc:creator>
      <dc:date>2021-06-14T07:01:10Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1289977#M8435</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We tried running the same sample code at our end but we didn't face any such behavior.&lt;/P&gt;
&lt;P&gt;Please find the below screenshot:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SantoshY_Intel_0-1623758521734.png" style="width: 631px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/17527iCC41B9EE3B922657/image-dimensions/631x101?v=v2&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" width="631" height="101" role="button" title="SantoshY_Intel_0-1623758521734.png" alt="SantoshY_Intel_0-1623758521734.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So could you please provide us the command that you used to compile &amp;amp; run the sample using Intel MPI?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;
&lt;P&gt;Santosh&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jun 2021 12:02:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1289977#M8435</guid>
      <dc:creator>SantoshY_Intel</dc:creator>
      <dc:date>2021-06-15T12:02:44Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1289998#M8437</link>
      <description>&lt;P&gt;My steps were as follows:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;wget https://registrationcenter-download.intel.com/akdlm/irc_nas/17764/l_HPCKit_p_2021.2.0.2997_offline.sh
bash l_HPCKit_p_2021.2.0.2997_offline.sh -a -s --eula=accept --install-dir=/opt/intel/oneapi/ --intel-sw-improvement-program-consent=decline --components=intel.oneapi.lin.mpi.devel
source /opt/intel/oneapi/mpi/latest/env/vars.sh -i_mpi_library_kind=debug
mpicc -Wall --std=c11 -o test-mpi test-mpi.c
mpirun -np 2 ./test-mpi&lt;/LI-CODE&gt;
&lt;P&gt;The installation part is a bit of lying as I did installed it manually with the CLI but I'm pretty sure that's the effective configuration, I used.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Jun 2021 13:02:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1289998#M8437</guid>
      <dc:creator>eherqgd</dc:creator>
      <dc:date>2021-06-15T13:02:38Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1290286#M8442</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&lt;I&gt;&amp;gt;&amp;gt;"&lt;/I&gt;&lt;I&gt;mpicc -Wall --std=c11 -o test-mpi test-mpi.c&lt;/I&gt;&lt;I&gt;"&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;We see that you are using mpicc compiler.&lt;/P&gt;
&lt;P&gt;Try using Intel's compiler "&lt;STRONG&gt;mpiicc&lt;/STRONG&gt;" and let us know if you face any issues.&lt;/P&gt;
&lt;P&gt;Example command will be:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;mpiicc -o test-mpi test-mpi.c&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;/P&gt;
&lt;P&gt;Santosh&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jun 2021 08:21:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1290286#M8442</guid>
      <dc:creator>SantoshY_Intel</dc:creator>
      <dc:date>2021-06-16T08:21:05Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1290344#M8443</link>
      <description>&lt;P&gt;Using mpi&lt;STRONG&gt;i&lt;/STRONG&gt;cc (icc (ICC) 2021.2.0 20210228) changes nothing.&lt;/P&gt;
&lt;P&gt;These were my steps:&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;bash l_HPCKit_p_2021.2.0.2997_offline.sh -a -s --eula=accept --install-dir="/opt/intel-oneapi" --intel-sw-improvement-program-consent=decline --components=intel.oneapi.lin.mpi.devel:intel.oneapi.lin.dpcpp-cpp-compiler-pro
source "/opt/intel-oneapi/mpi/latest/env/vars.sh"
source "/opt/intel-oneapi/compiler/latest/env/vars.sh"
mpiicc --version
    icc (ICC) 2021.2.0 20210228
    Copyright (C) 1985-2021 Intel Corporation.  All rights reserved.
mpiicc -Wall -o test-mpi test-mpi.c &amp;amp;&amp;amp; mpirun -np 2 ./test-mpi&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I also tested the same steps with the same Intel MPI&amp;nbsp; version (I used the same installer) on some other systems:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Ubuntu 20.04 x86_64 using&amp;nbsp;AMD Ryzen 9 3900X: BUG with mpicc (gcc 8.4.0) and mpiicc&lt;/LI&gt;
&lt;LI&gt;Ubuntu 20.04 using Lenovo T14s: BUG with mpicc and mpiicc&lt;/LI&gt;
&lt;LI&gt;Ubuntu 20.04 using Lenovo T14&amp;nbsp;AMD Ryzen 7 PRO 4750U: BUG&amp;nbsp;with mpicc and mpiicc&lt;/LI&gt;
&lt;LI&gt;Linux 3.10.0 el7 using Intel(R) Xeon(R) CPU E5-2680 v3: WORKS with mpicc (gcc Red Hat 4.8.5) and mpicc (gcc 10.2.0) and mpiicc&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;I don't wanna state the obvious difference in systems with bugs vs. working system. But, even if the hardware might be a factor, it shouldn't lead to such weird bugs. There should be same sanity checks in the installer or somewhere else. It did cost me quite some time. Then again, I saw the warning "Your system is not supported" or similarly in the installer but I did not expect such weirdly specific problems...&lt;/P&gt;
&lt;P&gt;Also, it would be interesting to really know instead of just assuming that the the hardware is the problem and what exactly goes wrong! I would be really glad if this got a bugfix anyway.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Jun 2021 12:00:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1290344#M8443</guid>
      <dc:creator>eherqgd</dc:creator>
      <dc:date>2021-06-16T12:00:50Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1292459#M8485</link>
      <description>&lt;P&gt;The bug also does not appear with:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;Linux 3.10.0 el7 using&lt;SPAN style="font-family: inherit;"&gt;&amp;nbsp;AMD EPYC 7702: WORKS with mpicc (GCC 10.2.0)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Wed, 23 Jun 2021 10:12:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1292459#M8485</guid>
      <dc:creator>eherqgd</dc:creator>
      <dc:date>2021-06-23T10:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1303766#M8652</link>
      <description>&lt;P&gt;“Thank you for your inquiry.&amp;nbsp;We offer support for hardware platforms that the Intel® oneAPI product supports.&amp;nbsp;These platforms include those that are part of the Intel® Core™ processor family or higher, the Intel® Xeon® processor family, the Intel® Xeon® Scalable processor family, and others which can be found here – &lt;A href="https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-base-toolkit-system-requirements.html" target="_blank" rel="noopener noreferrer"&gt;Intel® oneAPI Base Toolkit System Requirements&lt;/A&gt;, &lt;A href="https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-hpc-toolkit-system-requirements.html" target="_blank" rel="noopener noreferrer"&gt;Intel® oneAPI HPC Toolkit System Requirements&lt;/A&gt;, &lt;A href="https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-iot-toolkit-system-requirements.html" target="_blank" rel="noopener noreferrer"&gt;Intel® oneAPI IoT Toolkit System Requirements&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-family: Calibri, sans-serif; font-size: 11pt;"&gt;If you wish to use oneAPI on hardware that is not listed at one of the sites above, we encourage you to visit and contribute to the open oneAPI specification - &lt;/SPAN&gt;&lt;A style="font-family: Calibri, sans-serif; font-size: 11pt;" href="https://www.oneapi.io/spec/" target="_blank" rel="noopener noreferrer"&gt;https://www.oneapi.io/spec/&lt;/A&gt;&lt;SPAN style="font-family: Calibri, sans-serif; font-size: 11pt;"&gt;”&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Aug 2021 23:31:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1303766#M8652</guid>
      <dc:creator>JyotsnaK_Intel</dc:creator>
      <dc:date>2021-08-04T23:31:15Z</dc:date>
    </item>
    <item>
      <title>Re: MPI_Iprobe not working with MPI_ANY_SOURCE with Intel(R) MPI Library 2021.2 for Linux* OS</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1304164#M8656</link>
      <description>&lt;P&gt;&lt;SPAN style="font-family: verdana; font-size: 14px;"&gt;This thread will no longer be monitored by Intel. If you need any more information, please post a new question.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Aug 2021 06:16:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-Iprobe-not-working-with-MPI-ANY-SOURCE-with-Intel-R-MPI/m-p/1304164#M8656</guid>
      <dc:creator>JyotsnaK_Intel</dc:creator>
      <dc:date>2021-08-06T06:16:53Z</dc:date>
    </item>
  </channel>
</rss>

