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: