title: MPI program executed in only one process against requested with many processes
body: <p>I am a beginner trying to learn MPI. I have tried to run the following program downloaded from internet:</p>
  
  <pre><code>    #include &lt;stdio.h&gt;
      #include &lt;mpi.h&gt;
  
      int main (argc, argv)
           int argc;
           char *argv[];
      {
        int rank, size;
  
        MPI_Init (&amp;argc, &amp;argv);  /* starts MPI */
        MPI_Comm_rank (MPI_COMM_WORLD, &amp;rank);    /* get current process id */
        MPI_Comm_size (MPI_COMM_WORLD, &amp;size);    /* get number of processes */
        printf( "Hello world from process %d of %d\n", rank, size );
        MPI_Finalize();
        return 0;
      }
  </code></pre>
  
  <p>The code has been compiled with <code>mpicc</code> and executed with <code>mpirun</code>.</p>
  
  <pre><code>mpicc HelloWorld.c
  mpirun -np 4 a.out
  </code></pre>
  
  <p>The output is as follows:</p>
  
  <pre><code>Hello world from process 0 of 1
  Hello world from process 0 of 1
  Hello world from process 0 of 1
  Hello world from process 0 of 1
  </code></pre>
  
  <p>My question is, why the output has generated only one process and not 4 processes as requested?</p>