From f904d3ba155afa54a5ff758f4a6736a39018c7f1 Mon Sep 17 00:00:00 2001 From: josh Date: Tue, 18 Nov 2008 00:22:30 +0000 Subject: [PATCH] added a basic timing test git-svn-id: svn://anubis/gvsu@234 45c1a28c-8058-47b2-ae61-ca45b979098e --- cs677/hw6/src/mpi-round-trip.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cs677/hw6/src/mpi-round-trip.cc b/cs677/hw6/src/mpi-round-trip.cc index 2ced1a6..21154c9 100644 --- a/cs677/hw6/src/mpi-round-trip.cc +++ b/cs677/hw6/src/mpi-round-trip.cc @@ -1,5 +1,6 @@ #include +#include #include using namespace std; @@ -13,13 +14,32 @@ int main(int argc, char * argv[]) if (my_rank == 0) { int buf = 0; + struct timeval before, after; + + gettimeofday(&before, NULL); /* Start timing */ + + MPI_Send(&buf, sizeof(buf), MPI_CHAR, + 0, 42, MPI_COMM_WORLD); + MPI_Recv(&buf, sizeof(buf), MPI_CHAR, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + + gettimeofday(&after, NULL); /* Stop timing */ + cout << "Master received " << buf << endl; + + double time_before = before.tv_sec + before.tv_usec / 1000000.0; + double time_after = after.tv_sec + after.tv_usec / 1000000.0; + double diff = time_after - time_before; + cout << "Elapsed time: " << diff << " seconds." << endl; } else { int forty_two = 42; + int buf; + MPI_Recv(&buf, sizeof(buf), MPI_CHAR, + MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + MPI_Send(&forty_two, sizeof(forty_two), MPI_CHAR, 0, 42, MPI_COMM_WORLD); }