Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2154 Discussions

What is the equivalent of --map-by-node

AThar2
Beginner
1,042 Views

To briefly explain what I want to achieve: 

I am running two codes coupled with mpi like the following:

   mpirun -np X ./exe1 : -np Y ./exe2

 

However, I have to control  how this is distributed across each nodes - so say we got three nodes I would create such hostfile

 

comp00
comp00
comp01
comp01
comp02
comp02
comp00
comp00
comp01
comp01
comp02
comp02



I would then run the following:

 

mpirun --hostfile myhost -np 6 ./exe1  : -np 6 ./exe2

 

So basically the first 6 instances in the "myhost" will be reserved for exe1 and the last 6 for exe2. 

This works all fine.
However, the rank numbering is not what I want. With Intel MPI I get the following for say the first 6 ranks on exe1 

0 rank: comp00 
1 rank:comp01

2 rank: comp02

3 rank:comp00

4 rank: comp01

5 rank: comp02

 

I want to make sure that rank 0 and 1 belong to comp00 and 2-3 to comp01 etc etc 

 

With OpenMPI I achieve this by doing the following

 

mpirun --hostfile myhost -np 6 ./exe1  : --map-by node -np 6 ./exe2

 

Notice the map-by node has to be on the second code 'exe2' - but this ensures that both exe1 and exe2 have their associated ranks clustered to the same node. 

 

How can I do the same with intelMPI -

0 Kudos
1 Solution
GouthamK_Intel
Moderator
1,023 Views

Hi Ali Thari,

Thanks for briefly explaining the issue which you are facing, from the explanation provided by you I assume that you wanted to run the consecutive ranks on a single node in a round-robin fashion instead of the default one which assigns a single rank on a single node and then assigns other ranks on round-robin manner.

If this is the information you wanted to seek, then please use -ppn (# of processes per node) option to set the number of processes to launch on each node.

Example:

GouthamK_Intel_0-1611750970866.png

 

for more details of ppn please refer to the below link:

https://software.intel.com/content/www/us/en/develop/documentation/mpi-developer-guide-linux/top/running-applications/running-an-mpi-program.html

 

If your issue still persists/if your issue is something else, please let us know.

Have a Good day!

 

Thanks & Regards

Goutham

 

View solution in original post

0 Kudos
2 Replies
GouthamK_Intel
Moderator
1,024 Views

Hi Ali Thari,

Thanks for briefly explaining the issue which you are facing, from the explanation provided by you I assume that you wanted to run the consecutive ranks on a single node in a round-robin fashion instead of the default one which assigns a single rank on a single node and then assigns other ranks on round-robin manner.

If this is the information you wanted to seek, then please use -ppn (# of processes per node) option to set the number of processes to launch on each node.

Example:

GouthamK_Intel_0-1611750970866.png

 

for more details of ppn please refer to the below link:

https://software.intel.com/content/www/us/en/develop/documentation/mpi-developer-guide-linux/top/running-applications/running-an-mpi-program.html

 

If your issue still persists/if your issue is something else, please let us know.

Have a Good day!

 

Thanks & Regards

Goutham

 

0 Kudos
GouthamK_Intel
Moderator
994 Views

Hi, 

Thanks for the confirmation!

As this issue has been resolved, we will no longer respond to this thread. 

If you require any additional assistance from Intel, please start a new thread. 

Any further interaction in this thread will be considered community only. 

Have a Good day.


Thanks & Regards

Goutham


0 Kudos
Reply