On Aug 14, 2012, at 7:55 AM, seshendra seshu wrote:

> I haven't still changed my code to run when threading is  needed (presently 
> working). 

I'm afraid I can't parse that sentence; I don't know what you mean.

> I have doubt that when i calculate the MPI ranks using the MPI command  it 
> gives only the nodes which have given in a host file.

I'm not sure what this is saying, either.  Sorry!  :-(

If you are running in a scheduled environment (e.g., under the SLURM or 
Torque/PBS schedulers), then Open MPI will find out from the schedule how many 
processors are on that machine and react accordingly.

Otherwise, if you are running in an unscheduled environment (e.g., if you just 
specify a hostfile to tell Open MPI where to run), then you need to tell Open 
MPI how many processes you want it to launch on each node.  Per Tom's advice, 
we usually recommend running -- at most -- one MPI process per core.

> But how can i calculate the MPI ranks as you have told i.e N=H(    number of 
> CPUs showing on a node ) x M ( number of nodes in a cluster).

Use the Hwloc utility "lstopo" to give you a graphical depiction of the 
internal topology of your machine(s).  http://www.open-mpi.org/projects/hwloc/

Then you can count how many cores are on your machine and set your hostfile 
accordingly.

> And I would like test like this if have 2 nodes and where I can use up to 50 
> cores. I would like to scale like 2,4,8,16,32,45 cores and at the same time 
> if use 8 cores then I would like to take the readings as node1- 3cores and 
> node2-5 cores. So in order to do that should I need mention anything in the 
> host file as I have mentioned the No.of nodes.

In general, just list how many slots you have on each machine in the hostfile 
and then use mpirun's -np and -npernode options to specify how many total 
processes to run and how many to run per machine.  For example:

-----
shell$ cat hostfile
# This hostfile represents 2 Intel Romley-based servers; 16 cores each
server1 slots=16
server2 slots=16
shell$ mpirun --hostfile hostfile -np 4 --npernode 2 my_mpi_executable
# ^^ this runs a total of 4 MPI processes, 2 on each node
shell$ mpirun --hostfile hostfile -np 16 --npernode 8 my_mpi_executable
# ^^ this runs a total of 16 MPI processes, 8 on each node
-----

...and so on.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to