int main(int argc, char *argv[]) { struct Zoltan_Timer *zt1, *zt2, *zt3, *zt4; int i, me; const int MAINLOOP=20; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &me); zt1 = Zoltan_Timer_Create(ZOLTAN_TIME_WALL); zt2 = Zoltan_Timer_Create(ZOLTAN_TIME_USER); zt3 = Zoltan_Timer_Create(ZOLTAN_TIME_WALL); for (i = 0; i < MAINLOOP; i++) { if (me == 0) printf("\n\n\t****Beginning first test****\n"); first_test(zt1); if (me == 0) printf("\n\n\t****Beginning second test****\n"); second_test(zt2); } if (me == 0) printf("\n\nFINAL RESULTS -- FIRST TEST:\n"); Zoltan_Timer_PrintAll(zt1, 0, MPI_COMM_WORLD, stdout); if (me == 0) printf("\n\nFINAL RESULTS -- SECOND TEST:\n"); Zoltan_Timer_PrintAll(zt2, 0, MPI_COMM_WORLD, stdout); /* Copy tests */ Zoltan_Timer_Copy_To(&zt3, zt1); zt4 = Zoltan_Timer_Copy(zt2); for (i = 0; i < MAINLOOP; i++) { if (me == 0) printf("\n\n\t****Beginning first copy test****\n"); first_test(zt3); if (me == 0) printf("\n\n\t****Beginning second copy test****\n"); second_test(zt4); } if (me == 0) printf("\n\nFINAL RESULTS -- FIRST COPY TEST:\n"); Zoltan_Timer_PrintAll(zt3, 0, MPI_COMM_WORLD, stdout); if (me == 0) printf("\n\nFINAL RESULTS -- SECOND COPY TEST:\n"); Zoltan_Timer_PrintAll(zt4, 0, MPI_COMM_WORLD, stdout); /* Test printing while timer is still running. */ if (me == 0) printf("\n\n\t****Intermediate print test****\n"); third_test(zt1); if (me == 0) printf("\n\nFINAL RESULTS -- INTERMEDIATE PRINT TEST:\n"); Zoltan_Timer_PrintAll(zt1, 0, MPI_COMM_WORLD, stdout); if (me == 0) printf("\n\nTHE END\n"); Zoltan_Timer_Destroy(&zt1); Zoltan_Timer_Destroy(&zt2); MPI_Finalize(); return 0; }
int main() { first_test(); second_test(); third_test(); fourth_test(); }