MPI no se ejecuta en paralelo en un código FORTRAN

Estoy tratando de instalar un OpenMPI en mi máquina Ubuntu (14.04), y pensé que había tenido éxito, porque puedo ejecutar códigos conmpirun, pero recientemente me di cuenta de que realmente no se ejecuta en paralelo.

lo instaléopenmpi con las siguientes opciones:

./configure CXX=g++ CC=gcc F77=gfortran \
                           F90=gfortran  \
                            FC=gfortran   \
         --enable-mpi-f77 \
         --enable-mpi-f90  \
         --prefix=/opt/openmpi-1.6.5
make all
sudo make install

Como dije, he ejecutado un código (no escrito por mí mismo) y parecía funcionar en paralelo, porque lo verifiqué contop y se estaba ejecutando en varios nodos.

Pero ahora he escrito un código FORTRAN simple:

PROGRAM hello_MPI
  INCLUDE "mpif.h"
  INTEGER :: err, size, rank
  CALL MPI_INIT(err)
  IF (err /= MPI_SUCCESS) STOP 'Init failed'
  CALL MPI_COMM_RANK(MPI_COMM_WORLD, rank, err)
  CALL MPI_COMM_SIZE(MPI_COMM_WORLD, size, err)
  PRINT*, "Hello world from process ", rank, " of ", size, " processes"
  CALL MPI_FINALIZE(err)
END PROGRAM

Pero cuando lo ejecuto con

mpirun -n 4 ./hello_MPI

Obtengo la misma salida 4 veces, lo que demuestra que solo está ejecutando el mismo proceso en 4 procesadores diferentes

 Hello world from process            0  of            1  processes
 Hello world from process            0  of            1  processes
 Hello world from process            0  of            1  processes
 Hello world from process            0  of            1  processes

He ejecutado este mismo código en una máquina diferente y obtengo el resultado esperado:

 Hello world from process            0  of            4  processes
 Hello world from process            1  of            4  processes
 Hello world from process            2  of            4  processes
 Hello world from process            3  of            4  processes

Respuestas a la pregunta(1)

Su respuesta a la pregunta