MPQC
2.3.1
src
lib
util
group
pregtime.h
1
//
2
// pregtime.h
3
//
4
// Copyright (C) 1996 Limit Point Systems, Inc.
5
//
6
// Author: Curtis Janssen <cljanss@limitpt.com>
7
// Maintainer: LPS
8
//
9
// This file is part of the SC Toolkit.
10
//
11
// The SC Toolkit is free software; you can redistribute it and/or modify
12
// it under the terms of the GNU Library General Public License as published by
13
// the Free Software Foundation; either version 2, or (at your option)
14
// any later version.
15
//
16
// The SC Toolkit is distributed in the hope that it will be useful,
17
// but WITHOUT ANY WARRANTY; without even the implied warranty of
18
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
// GNU Library General Public License for more details.
20
//
21
// You should have received a copy of the GNU Library General Public License
22
// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23
// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24
//
25
// The U.S. Government is granted a limited license as per AL 91-7.
26
//
27
28
#ifdef __GNUC__
29
#pragma interface
30
#endif
31
32
#ifndef _util_group_pregtime_h
33
#define _util_group_pregtime_h
34
35
#include <iostream>
36
#include <util/misc/regtime.h>
37
#include <util/group/message.h>
38
39
namespace
sc {
40
41
class
ParallelRegionTimer
:
public
RegionTimer
{
42
protected
:
43
Ref<MessageGrp>
msg_;
44
45
void
send_subregions(
int
node,
const
TimedRegion
*r)
const
;
46
void
recv_subregions(
int
node,
TimedRegion
*r)
const
;
47
void
all_reduce_regions()
const
;
48
49
public
:
50
ParallelRegionTimer
(
const
Ref<MessageGrp>
&,
51
const
char
*topname =
"total"
,
52
int
cpu_time = 0,
int
wall_time = 1);
53
ParallelRegionTimer
(
const
Ref<KeyVal>
&);
54
~
ParallelRegionTimer
();
55
56
void
print
(std::ostream& =
ExEnv::out0
())
const
;
57
};
58
59
}
60
61
#endif
62
63
// Local Variables:
64
// mode: c++
65
// c-file-style: "CLJ"
66
// End:
sc::ParallelRegionTimer::print
void print(std::ostream &=ExEnv::out0()) const
Print the object.
sc::Ref
A template class that maintains references counts.
Definition:
ref.h:332
sc::TimedRegion
Definition:
regtime.h:41
sc::ParallelRegionTimer
Definition:
pregtime.h:41
sc::ExEnv::out0
static std::ostream & out0()
Return an ostream that writes from node 0.
sc::RegionTimer
The RegionTimer class is used to record the time spent in a section of code.
Definition:
regtime.h:89
Generated at Sun Jan 26 2020 23:33:04 for
MPQC
2.3.1 using the documentation package
Doxygen
1.8.16.