printf ("process %d of %d has received: '%s'\n", rank, size, Recv);

else if (rank == SOURCE) // jeżeli procesem jest proces nadający komunikat:

printf ("process %d of %d sending '%s' to %d\n", rank, size, Msg, DEST); // wysyłanie komunkatu zawartego w buforze Msg manual MPI_Send(Msg, COUNT, MPI_CHAR, DEST, TAG, MPI_COMM_WORLD);

MPI_Finalize(); // zakończenie wykonywania procesów MPI manual

return 0;

Program kompiluje się wprowadzając polecenie: # mpicc -o program_mpi program_mpi.c

Komunikacja grupowa MPICH dostarcza kilku funkcji, ułatwiających komunikowanie się jednocześnie ze wszystkimi procesami w grupie. Poza sporym ułatwieniem zapewniają one (a raczej zapewnia to MPICH), że dane zostaną przesłane w optymalny sposób (naiwny broadcast(iteracja) vs. MPI_Bcast(algorytm „drzewiasty”) ).

MPI_Bcast Rozsyła komunikat do wszystkich procesów w grupie.

int vsize = 4; float vect[vsize]; ... int status = MPI_Bcast( vect ,vsize ,MPI_FLOAT ,0 /*root*/ , MPI_COMM_WORLD);