00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include <metis.h>
00016
00017
00018
00019
00020
00021 void InitTimers(CtrlType *ctrl)
00022 {
00023 cleartimer(ctrl->TotalTmr);
00024 cleartimer(ctrl->InitPartTmr);
00025 cleartimer(ctrl->MatchTmr);
00026 cleartimer(ctrl->ContractTmr);
00027 cleartimer(ctrl->CoarsenTmr);
00028 cleartimer(ctrl->UncoarsenTmr);
00029 cleartimer(ctrl->RefTmr);
00030 cleartimer(ctrl->ProjectTmr);
00031 cleartimer(ctrl->SplitTmr);
00032 cleartimer(ctrl->SepTmr);
00033 cleartimer(ctrl->AuxTmr1);
00034 cleartimer(ctrl->AuxTmr2);
00035 cleartimer(ctrl->AuxTmr3);
00036 cleartimer(ctrl->AuxTmr4);
00037 cleartimer(ctrl->AuxTmr5);
00038 cleartimer(ctrl->AuxTmr6);
00039 }
00040
00041
00042
00043
00044
00045
00046 void PrintTimers(CtrlType *ctrl)
00047 {
00048 printf("\nTiming Information -------------------------------------------------");
00049 printf("\n Multilevel: \t\t %7.3f", gettimer(ctrl->TotalTmr));
00050 printf("\n Coarsening: \t\t %7.3f", gettimer(ctrl->CoarsenTmr));
00051 printf("\n Matching: \t\t\t %7.3f", gettimer(ctrl->MatchTmr));
00052 printf("\n Contract: \t\t\t %7.3f", gettimer(ctrl->ContractTmr));
00053 printf("\n Initial Partition: \t %7.3f", gettimer(ctrl->InitPartTmr));
00054 printf("\n Construct Separator: \t %7.3f", gettimer(ctrl->SepTmr));
00055 printf("\n Uncoarsening: \t\t %7.3f", gettimer(ctrl->UncoarsenTmr));
00056 printf("\n Refinement: \t\t\t %7.3f", gettimer(ctrl->RefTmr));
00057 printf("\n Projection: \t\t\t %7.3f", gettimer(ctrl->ProjectTmr));
00058 printf("\n Splitting: \t\t %7.3f", gettimer(ctrl->SplitTmr));
00059 printf("\n AUX1: \t\t %7.3f", gettimer(ctrl->AuxTmr1));
00060 printf("\n AUX2: \t\t %7.3f", gettimer(ctrl->AuxTmr2));
00061 printf("\n AUX3: \t\t %7.3f", gettimer(ctrl->AuxTmr3));
00062 printf("\n********************************************************************\n");
00063 }
00064
00065
00066
00067
00068
00069 double seconds(void)
00070 {
00071 return((double) clock()/CLOCKS_PER_SEC);
00072 }
00073
00074