FUNZIONI MPI PRINCIPALI

In questa sezione spiegerò più in dettaglio la sintassi delle funzioni MPI introdotte nell'esempio precedente, per poi mostrare la fase di compilazione del codice e la sua esecuzione.

Consideriamo quindi il seguente esempio:
 

      program esempio1
      include 'mpif.h'
      integer nprocs, mype, ierr
      call MPI_INIT(ierr)
      call MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr)
      call MPI_COMM_RANK(MPI_COMM_WORLD, mype, ierr)
      write(6,*) 'N. di proc.=', nprocs, ' io sono:', mype
      call MPI_FINALIZE(ierr)
      end

Si deve notare che il programma (in questo caso non sono presenti comunicazioni tra i processori) viene eseguito nel modello SPMD (Single Program Multiple Data); tutti i processori eseguono lo stesso programma e quindi se non espressamente a loro impedito attraverso delle condizioni associate al loro intero identificativo (mype) , tutti eseguono tutte le linee del codice.

Veniamo quindi ai dettagli del codice: