#include #include #include "mpi.h" int main(int argc, char** argv) { int my_rank, nproc, src, dst, tag = 50; char msg[100]; MPI_Status status; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); MPI_Comm_size(MPI_COMM_WORLD, &nproc); if (my_rank != 0) { sprintf(msg, "Greetings from process %d!", my_rank); dst = 0; MPI_Send(msg,strlen(msg)+1,MPI_CHAR,dst,tag,MPI_COMM_WORLD); } else { for (src = 1; src < nproc; src++) { MPI_Recv(msg,100,MPI_CHAR,src,tag,MPI_COMM_WORLD,&status); printf("%s\n", msg); } } MPI_Finalize(); return 0; }