<?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 Hi Anatolly, in Intel® MPI Library</title>
    <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-rank-reordering/m-p/1126498#M5556</link>
    <description>&lt;P&gt;Hi Anatolly,&lt;/P&gt;&lt;P&gt;I am Thomas' colleague and we&amp;nbsp;ran together&amp;nbsp;into this unexpected behavior of the MPI_Dist_graph_create routine. This might come from the fact that we misunderstand the specifications of the routine:&amp;nbsp;we actually did not find that much documentation on it.&lt;/P&gt;&lt;P&gt;I provide a reproducer in attachement.&amp;nbsp;Here is the rationale of the example:&lt;/P&gt;&lt;P&gt;An allocation of 4 cpus is&amp;nbsp;requested on a cluster, evenly scattered across 2 nodes. Obviously, the ordering obtained from MPI_COMM_WORLD is such that ranks 0 and 1 are located on the first node, and ranks 2 and 3 are on the second node. Now, we want to specify that ranks 0 and 2 will have to communicate a lot together, and the same for 1 and 3. In that sense, an optimised ordering of the ranks should&amp;nbsp;group&amp;nbsp;those ranks on each node, so as to benefit from the faster inner-node communications. So, we use&amp;nbsp;MPI_Dist_graph_create_adjacent to create a graph with two edges:&amp;nbsp;one between 0 and 2, and one between 1 and 3. We would expect&amp;nbsp;ranks to be permuted in the new communicator, e.g. with ranks 0 and 2 on the first node.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In practice, with all the tests we have been running on various clusters and with various graphs, we never managed to obtain rank reordering from&amp;nbsp;MPI_Dist_graph_create_adjacent, even though the argument 'reorder' was set to 1. We always got the same ordering as in MPI_COMM_WORLD. Also, we did not find what values can be used for&amp;nbsp;'info', and what are the consequences on the optimization.&lt;/P&gt;&lt;P&gt;Additionally, are there extra&amp;nbsp;information to give during the installation or the initialisation of IMPI, so that it be aware of the network architecture of the cluster and can produce&amp;nbsp;sensible optimizations?&lt;/P&gt;&lt;P&gt;Thank you in advance for your support,&lt;/P&gt;&lt;P&gt;DG&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 22 Nov 2019 16:59:42 GMT</pubDate>
    <dc:creator>Denis-Gabriel_C_</dc:creator>
    <dc:date>2019-11-22T16:59:42Z</dc:date>
    <item>
      <title>MPI rank reordering</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-rank-reordering/m-p/1126496#M5554</link>
      <description>&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;I am currently using the MPI distributed graph topologies and I allow rank reordering (https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report/node195.htm#Node195).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, after small tests, I noticed that the Intel MPI (2019) does not reorder my ranks.&lt;BR /&gt;Since it increases the complexity of the code, I would like to be sure that in some cases it will be useful.&lt;/P&gt;&lt;P&gt;Does Intel MPI reorder the ranks for MPI topologies? If yes, what are the requirements (machine files etc...)?&lt;BR /&gt;&lt;BR /&gt;Thank you very much for your help!&lt;/P&gt;</description>
      <pubDate>Mon, 21 Oct 2019 14:39:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-rank-reordering/m-p/1126496#M5554</guid>
      <dc:creator>Thomas_G_3</dc:creator>
      <dc:date>2019-10-21T14:39:18Z</dc:date>
    </item>
    <item>
      <title>Hi Thomas,</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-rank-reordering/m-p/1126497#M5555</link>
      <description>&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could you provide some reproducer, code example? What output do you see and what output do you expect?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;--&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;Best regards, Anatoliy&lt;/P&gt;</description>
      <pubDate>Wed, 30 Oct 2019 14:30:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-rank-reordering/m-p/1126497#M5555</guid>
      <dc:creator>Anatoliy_R_Intel</dc:creator>
      <dc:date>2019-10-30T14:30:09Z</dc:date>
    </item>
    <item>
      <title>Hi Anatolly,</title>
      <link>https://community.intel.com/t5/Intel-MPI-Library/MPI-rank-reordering/m-p/1126498#M5556</link>
      <description>&lt;P&gt;Hi Anatolly,&lt;/P&gt;&lt;P&gt;I am Thomas' colleague and we&amp;nbsp;ran together&amp;nbsp;into this unexpected behavior of the MPI_Dist_graph_create routine. This might come from the fact that we misunderstand the specifications of the routine:&amp;nbsp;we actually did not find that much documentation on it.&lt;/P&gt;&lt;P&gt;I provide a reproducer in attachement.&amp;nbsp;Here is the rationale of the example:&lt;/P&gt;&lt;P&gt;An allocation of 4 cpus is&amp;nbsp;requested on a cluster, evenly scattered across 2 nodes. Obviously, the ordering obtained from MPI_COMM_WORLD is such that ranks 0 and 1 are located on the first node, and ranks 2 and 3 are on the second node. Now, we want to specify that ranks 0 and 2 will have to communicate a lot together, and the same for 1 and 3. In that sense, an optimised ordering of the ranks should&amp;nbsp;group&amp;nbsp;those ranks on each node, so as to benefit from the faster inner-node communications. So, we use&amp;nbsp;MPI_Dist_graph_create_adjacent to create a graph with two edges:&amp;nbsp;one between 0 and 2, and one between 1 and 3. We would expect&amp;nbsp;ranks to be permuted in the new communicator, e.g. with ranks 0 and 2 on the first node.&amp;nbsp;&lt;/P&gt;&lt;P&gt;In practice, with all the tests we have been running on various clusters and with various graphs, we never managed to obtain rank reordering from&amp;nbsp;MPI_Dist_graph_create_adjacent, even though the argument 'reorder' was set to 1. We always got the same ordering as in MPI_COMM_WORLD. Also, we did not find what values can be used for&amp;nbsp;'info', and what are the consequences on the optimization.&lt;/P&gt;&lt;P&gt;Additionally, are there extra&amp;nbsp;information to give during the installation or the initialisation of IMPI, so that it be aware of the network architecture of the cluster and can produce&amp;nbsp;sensible optimizations?&lt;/P&gt;&lt;P&gt;Thank you in advance for your support,&lt;/P&gt;&lt;P&gt;DG&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 22 Nov 2019 16:59:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-MPI-Library/MPI-rank-reordering/m-p/1126498#M5556</guid>
      <dc:creator>Denis-Gabriel_C_</dc:creator>
      <dc:date>2019-11-22T16:59:42Z</dc:date>
    </item>
  </channel>
</rss>

