//
// mpi-greet0.c
//

#include <stdio.h>
#include <string.h>
#include "mpi.h"

int
main ( int argc, char **argv )
{
  int i;
  int rank;
  int size;
  int tag = 99;
  char msg[256];
  MPI_Status status;

  MPI_Init ( &argc, &argv );
  MPI_Comm_rank ( MPI_COMM_WORLD, &rank );
  MPI_Comm_size ( MPI_COMM_WORLD, &size );

  if ( rank ) {
    sprintf ( msg, "Hello from process %d", rank );
    MPI_Send ( msg, strlen(msg)+1, MPI_CHAR, 0, tag, MPI_COMM_WORLD );
  } else {
    for ( i = 1; i < size; i++ ) {
      MPI_Recv ( msg, 256, MPI_CHAR, i, tag, MPI_COMM_WORLD, &status );
      printf ( "%s\n", msg );
    }
  }

  MPI_Finalize();
}
