You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
891 B
C

#include "mpi.h"
#include <string.h>
#include <stdio.h>
int main( int argc, char **argv){
char message[20];
char messaggio[20];
int myrank;
MPI_Status status1;
MPI_Status status2;
MPI_Init( &argc, &argv );
MPI_Comm_rank( MPI_COMM_WORLD, &myrank );
if (myrank == 0){ /* code for process zero */
strcpy(message,"Hello, there");
strcpy(messaggio,"Hello, there");
MPI_Send(message, strlen(message)+1, MPI_CHAR, 1, 99, MPI_COMM_WORLD);
MPI_Send(messaggio, strlen(message)+1, MPI_CHAR, 2, 98, MPI_COMM_WORLD);
}
else if (myrank == 1){ /* code for process one */
MPI_Recv(message, 20, MPI_CHAR, 0, 99, MPI_COMM_WORLD, &status1);
printf("(1)received :\"%s\"\n", message);
}
else if (myrank == 5){ /* code for process one */
MPI_Recv(messaggio, 20, MPI_CHAR, 0, 98, MPI_COMM_WORLD, &status2);
printf("(2)received :\"%s\"\n", messaggio);
}
MPI_Finalize();
return 0;
}