Hitmap 1.3
 All Data Structures Namespaces Files Functions Variables Typedefs Friends Macros Groups Pages
timing.c
Go to the documentation of this file.
1 /*
2  * Copyright 1997, Regents of the University of Minnesota
3  *
4  * timing.c
5  *
6  * This file contains routines that deal with timing Metis
7  *
8  * Started 7/24/97
9  * George
10  *
11  * $Id: timing.c,v 1.1 1998/11/27 17:59:32 karypis Exp $
12  *
13  */
14 
15 #include <metis.h>
16 
17 
18 /*************************************************************************
19 * This function clears the timers
20 **************************************************************************/
21 void InitTimers(CtrlType *ctrl)
22 {
23  cleartimer(ctrl->TotalTmr);
24  cleartimer(ctrl->InitPartTmr);
25  cleartimer(ctrl->MatchTmr);
26  cleartimer(ctrl->ContractTmr);
27  cleartimer(ctrl->CoarsenTmr);
28  cleartimer(ctrl->UncoarsenTmr);
29  cleartimer(ctrl->RefTmr);
30  cleartimer(ctrl->ProjectTmr);
31  cleartimer(ctrl->SplitTmr);
32  cleartimer(ctrl->SepTmr);
33  cleartimer(ctrl->AuxTmr1);
34  cleartimer(ctrl->AuxTmr2);
35  cleartimer(ctrl->AuxTmr3);
36  cleartimer(ctrl->AuxTmr4);
37  cleartimer(ctrl->AuxTmr5);
38  cleartimer(ctrl->AuxTmr6);
39 }
40 
41 
42 
43 /*************************************************************************
44 * This function prints the various timers
45 **************************************************************************/
46 void PrintTimers(CtrlType *ctrl)
47 {
48  printf("\nTiming Information -------------------------------------------------");
49  printf("\n Multilevel: \t\t %7.3f", gettimer(ctrl->TotalTmr));
50  printf("\n Coarsening: \t\t %7.3f", gettimer(ctrl->CoarsenTmr));
51  printf("\n Matching: \t\t\t %7.3f", gettimer(ctrl->MatchTmr));
52  printf("\n Contract: \t\t\t %7.3f", gettimer(ctrl->ContractTmr));
53  printf("\n Initial Partition: \t %7.3f", gettimer(ctrl->InitPartTmr));
54  printf("\n Construct Separator: \t %7.3f", gettimer(ctrl->SepTmr));
55  printf("\n Uncoarsening: \t\t %7.3f", gettimer(ctrl->UncoarsenTmr));
56  printf("\n Refinement: \t\t\t %7.3f", gettimer(ctrl->RefTmr));
57  printf("\n Projection: \t\t\t %7.3f", gettimer(ctrl->ProjectTmr));
58  printf("\n Splitting: \t\t %7.3f", gettimer(ctrl->SplitTmr));
59  printf("\n AUX1: \t\t %7.3f", gettimer(ctrl->AuxTmr1));
60  printf("\n AUX2: \t\t %7.3f", gettimer(ctrl->AuxTmr2));
61  printf("\n AUX3: \t\t %7.3f", gettimer(ctrl->AuxTmr3));
62  printf("\n********************************************************************\n");
63 }
64 
65 
66 /*************************************************************************
67 * This function returns the seconds
68 **************************************************************************/
69 double seconds(void)
70 {
71  return((double) clock()/CLOCKS_PER_SEC);
72 }
73 
74 
timer ProjectTmr
Definition: struct.h:230
timer RefTmr
Definition: struct.h:230
timer TotalTmr
Definition: struct.h:230
timer SepTmr
Definition: struct.h:230
timer AuxTmr1
Definition: struct.h:230
timer ContractTmr
Definition: struct.h:230
#define cleartimer(tmr)
Definition: macros.h:52
timer AuxTmr5
Definition: struct.h:230
#define InitTimers
Definition: rename.h:373
timer AuxTmr3
Definition: struct.h:230
timer AuxTmr6
Definition: struct.h:230
#define gettimer(tmr)
Definition: macros.h:55
timer AuxTmr2
Definition: struct.h:230
timer MatchTmr
Definition: struct.h:230
timer UncoarsenTmr
Definition: struct.h:230
#define seconds
Definition: rename.h:375
timer InitPartTmr
Definition: struct.h:230
#define PrintTimers
Definition: rename.h:374
timer SplitTmr
Definition: struct.h:230
timer CoarsenTmr
Definition: struct.h:230
double clock
timer AuxTmr4
Definition: struct.h:230