Thank you for your response. That makes it clear.
A related question. When I run a general program on a machine, say a
Internet browser/Media player to watch a movie by clicking on the icon of
the avi file in the folder (nothing from the terminal), how many cores does
it use? In that case also does it just run on one core?
Generally, how is the work load divided on the cores on a computer. Does
every process that I start uses a new core, or the work load is distributed
over all the available cores?
2013/1/29 Jens Glaser <jglaser_at_[hidden]>
> Hi Pradeep,
> On Jan 28, 2013, at 11:16 PM, Pradeep Jha <pradeep.kumar.jha_at_[hidden]>
> 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.
> users mailing list