source: branches/numpy/pymetis/metis-4.0/Lib/timing.c @ 6971

Last change on this file since 6971 was 2051, checked in by jack, 19 years ago

Python interface to metis. Currently provides only the
METIS_PartMeshNodal function, since that is what is currently needed for partitioning.
Module name is metis.

File size: 2.5 KB
Line 
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**************************************************************************/
21void 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**************************************************************************/
46void 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**************************************************************************/
69double seconds(void)
70{
71  return((double) clock()/CLOCKS_PER_SEC);
72}
73
74
Note: See TracBrowser for help on using the repository browser.