11
int atag=999, rtag=555, to;
16
MPI_Init(&argc, &argv);
17
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
18
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
22
printf("Testing nonblocking receive\n\n"); fflush(stdout);
23
ierr = MPI_Irecv(&ack, 1, MPI_CHAR, to, atag ,MPI_COMM_WORLD, &request);
24
printf(":after nonblocking receive\n"); fflush(stdout);
25
ierr = MPI_Send(&req, 1, MPI_CHAR, to, rtag, MPI_COMM_WORLD);
26
printf(":sent request\n"); fflush(stdout);
27
ierr = MPI_Wait(&request, &status);
28
printf(":received response\n"); fflush(stdout);
29
printf("\nnonblocking receive is working\n"); fflush(stdout);
33
ierr = MPI_Recv(&req, 1, MPI_CHAR, to, rtag, MPI_COMM_WORLD, &status);
34
printf("::request received\n"); fflush(stdout);
35
ierr = MPI_Send(&ack, 1, MPI_CHAR, to, atag, MPI_COMM_WORLD);