1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
3 * (C) 2001 by Argonne National Laboratory.
4 * See COPYRIGHT in top-level directory.
10 int main( int argc, char *argv[] )
19 MTest_Init( &argc, &argv );
21 MPI_Comm_rank(MPI_COMM_WORLD, &rank);
23 for (i=0; i<10; i++) a[i] = i+1;
26 MPI_Isend( a, 0, MPI_INT, rank, 0, MPI_COMM_WORLD, &request );
27 MPI_Recv( b, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD,
29 MPI_Get_count( &status, MPI_INT, &count );
30 if (status.MPI_SOURCE != rank ||
31 status.MPI_TAG != 0 ||
32 status.MPI_ERROR != 0 ||
35 printf ("1 status = %d %d %d %d\n", status.MPI_SOURCE, status.MPI_TAG,
36 status.MPI_ERROR, count );
38 /* printf( "b[0] = %d\n", b[0] );*/
39 MPI_Wait( &request, &status );
41 MPI_Isend( 0, 0, MPI_INT, rank, 0, MPI_COMM_WORLD, &request );
42 MPI_Recv( 0, 0, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD,
44 MPI_Get_count( &status, MPI_INT, &count );
45 if (status.MPI_SOURCE != rank ||
46 status.MPI_TAG != 0 ||
47 status.MPI_ERROR != 0 ||
50 printf ("2 status = %d %d %d %d\n", status.MPI_SOURCE, status.MPI_TAG,
51 status.MPI_ERROR, count );
53 MPI_Wait( &request, &status );
55 MTest_Finalize( errs );