Basic HTML version of Foils prepared 10 Oct 1995

Foil 24 Hello World:C Example of Send and Receive

From Fox Presentation Fall 1995 CPS615 Basic Simulation Track for Computational Science -- Fall Semester 95. by Geoffrey C. Fox


1 #include "mpi.h"
2 main( int argc, char **argv )
3 {
  • char message[20];
  • int i, rank, size, tag=137; # Any value of type allowed
  • MPI_Status status;
  • MPI_Init (&argc, &argv);
  • MPI_Comm_size(MPI_COMM_WORLD, &size); # Number of Processors
  • MPI_Comm_rank(MPI_COMM_WORLD, &rank); # Who is this processor
  • if( rank == 0 ) { # We are on "root" -- Processor 0
    • strcpy(message,"Hello MPI World"); # Generate message
    • for(i=1; i<size; i++) # Send message to size-1 other processors
    • MPI_Send(message, strlen(message)+1, MPI_CHAR, i, tag, MPI_COMM_WORLD);
  • }
  • else
    • MPI_Recv(message,20, MPI_CHAR, 0, tag, MPI_COMM_WORLD, &status);
  • printf("This is a message from node %d saying %s\n", rank, message);
  • MPI_Finalize();
4 }

in Table To:


© on Tue Oct 7 1997