#include <stdio.h> #include <stdlib.h> #include "mpi.h" #define NUMBER_OF_TESTS 10 int main( argc, argv ) int argc; char **argv; { int rank; int size; double t1, t2, tmin; int j, k, nloop; MPI_Init( &argc, &argv ); MPI_Comm_rank( MPI_COMM_WORLD, &rank ); MPI_Comm_size( MPI_COMM_WORLD, &size ); if (rank == 0 && size == 1) printf( "Kind\tnp\ttime (sec)\n" ); nloop = 1000; tmin = 1000; for (k=0; k<NUMBER_OF_TESTS; k++) { MPI_Barrier( MPI_COMM_WORLD ); t1 = MPI_Wtime(); for (j=0; j<nloop; j++) { MPI_Barrier( MPI_COMM_WORLD ); } t2 = (MPI_Wtime() - t1) / nloop; if (t2 < tmin) tmin = t2; } if (rank == 0) { printf( "Barrier\t%d\t%f\n", size, tmin ); } MPI_Finalize( ); return 0; }