Hi Pradeep,

On Jan 28, 2013, at 11:16 PM, Pradeep Jha <pradeep.kumar....@gmail.com> wrote:
> I have a very basic question about MPI. 
> 
> I have a computer with 8 processors (each with 8 cores).  What is the 
> difference between if I run a program simply by "./program" and "mpirun -np 8 
> /path/to/program" ? In the first case does the program just use one processor 
> out of the 8? If I want the program to use all the 8 processors at the same 
> time, then I have to do with mpirun? 
> 
If you run the application as  "./program", it will most likely use only one 
core on one processor, i.e. 1/64 of your machine, if the latter really has 
eight CPUs with 8 cores each, as you write.  I have not heard of such machines, 
but you may be right.. There is an exception, namely if your program uses 
multi-threading (OpenMP etc.), then it could use more than one core even if you 
start it without mpirun.

However, if you do start it with mpirun, a number "np" of processes is launched 
on different cores. Provided your node really has 8 physical CPUs with 8 cores 
each and you want your program to utilize all your 64 cores, you should start 
it with -np 64.

Jens

Reply via email to