aboutsummaryrefslogtreecommitdiff
path: root/Carpet/Carpet/src/Timing.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2007-10-03 21:32:00 +0000
committerErik Schnetter <schnetter@cct.lsu.edu>2007-10-03 21:32:00 +0000
commit672cb3a88439f1e37ee090548e9c12e1695dd988 (patch)
tree100247d6a4fe5b949fa4d9938e49e4fe7f04e80a /Carpet/Carpet/src/Timing.cc
parent49ac81ecea3f2eaf425e9924c528fe8dfb4e9c8a (diff)
Carpet: Correct error in tracking I/O times
darcs-hash:20071003213238-dae7b-68d51ffe69105ad13e0481655b07bd56353f0195.gz
Diffstat (limited to 'Carpet/Carpet/src/Timing.cc')
-rw-r--r--Carpet/Carpet/src/Timing.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/Carpet/Carpet/src/Timing.cc b/Carpet/Carpet/src/Timing.cc
index 47793387c..789441653 100644
--- a/Carpet/Carpet/src/Timing.cc
+++ b/Carpet/Carpet/src/Timing.cc
@@ -118,6 +118,13 @@ namespace Carpet {
+ // Last starting time
+ enum timing_state_t { state_computing, state_communicating, state_io };
+ timing_state_t timing_state = state_computing;
+ CCTK_REAL time_start;
+
+
+
// Initialise the timing variables (to be called during Initialise)
void
InitTimingVariables (cGH const * const cctkGH)
@@ -174,6 +181,8 @@ namespace Carpet {
{
DECLARE_CCTK_ARGUMENTS;
+ assert (timing_state == state_computing);
+
CCTK_REAL local_updates, global_updates;
current_level_updates (cctkGH, local_updates, global_updates);
@@ -185,13 +194,6 @@ namespace Carpet {
- // Last starting time
- enum timing_state_t { state_computing, state_communicating, state_io };
- timing_state_t timing_state = state_computing;
- CCTK_REAL time_start;
-
-
-
// Count some I/O (to be called from the I/O routine)
void
BeginTimingIO (cGH const * const cctkGH)
@@ -209,7 +211,7 @@ namespace Carpet {
DECLARE_CCTK_ARGUMENTS;
assert (timing_state == state_io);
- timing_state = state_io;
+ timing_state = state_computing;
CCTK_REAL const time_end = get_walltime();
* time_io += time_end - time_start;
@@ -237,7 +239,7 @@ namespace Carpet {
DECLARE_CCTK_ARGUMENTS;
assert (timing_state == state_communicating);
- timing_state = state_communicating;
+ timing_state = state_computing;
CCTK_REAL const time_end = get_walltime();
* time_communicating += time_end - time_start;