diff options
author | Erik Schnetter <schnetter@cct.lsu.edu> | 2007-06-13 21:50:00 +0000 |
---|---|---|
committer | Erik Schnetter <schnetter@cct.lsu.edu> | 2007-06-13 21:50:00 +0000 |
commit | feae39a18b52c28447257ff20d8b922aaf124dd9 (patch) | |
tree | caf0bfc1d9218955397d97be82f290461c70d0c5 /Carpet | |
parent | aa884eecd5db9657882008704284014c205a27d6 (diff) |
Carpet: Add more timers
Add more timers to Initialise.cc and Evolve.cc.
darcs-hash:20070613215046-dae7b-01cbfbe064e49ed70c28a179ceb68eb2eecf858f.gz
Diffstat (limited to 'Carpet')
-rw-r--r-- | Carpet/Carpet/src/Evolve.cc | 19 | ||||
-rw-r--r-- | Carpet/Carpet/src/Initialise.cc | 173 |
2 files changed, 115 insertions, 77 deletions
diff --git a/Carpet/Carpet/src/Evolve.cc b/Carpet/Carpet/src/Evolve.cc index 6cc937c64..4de4d431b 100644 --- a/Carpet/Carpet/src/Evolve.cc +++ b/Carpet/Carpet/src/Evolve.cc @@ -217,7 +217,8 @@ namespace Carpet { { DECLARE_CCTK_PARAMETERS; - static Timer timer ("Evolve::CallRegrid"); + char const * const where = "Evolve::CallRegrid"; + static Timer timer (where); timer.start(); assert (is_level_mode()); @@ -233,8 +234,7 @@ namespace Carpet { (do_meta_mode ? " (meta)" : "")); // Preregrid - Checkpoint ("Scheduling PREREGRID"); - CCTK_ScheduleTraverse ("CCTK_PREREGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PREREGRID", cctkGH); // Regrid Checkpoint ("Regrid"); @@ -299,9 +299,7 @@ namespace Carpet { cctkGH->cctk_delta_time / cctkGH->cctk_timefac; // Postregrid - Checkpoint ("Scheduling POSTREGRID"); - CCTK_ScheduleTraverse - ("CCTK_POSTREGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTREGRID", cctkGH); } // for tl cctkGH->cctk_time = old_cctk_time; @@ -329,7 +327,8 @@ namespace Carpet { { DECLARE_CCTK_PARAMETERS; - static Timer timer ("Evolve::CallEvol"); + char const * const where = "Evolve::CallEvol"; + static Timer timer (where); timer.start(); for (int ml=mglevels-1; ml>=0; --ml) { @@ -373,10 +372,8 @@ namespace Carpet { Poison (cctkGH, currenttimebutnotifonly); // Evolve - Checkpoint ("Scheduling PRESTEP"); - CCTK_ScheduleTraverse ("CCTK_PRESTEP", cctkGH, CallFunction); - Checkpoint ("Scheduling EVOL"); - CCTK_ScheduleTraverse ("CCTK_EVOL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PRESTEP", cctkGH); + ScheduleTraverse (where, "CCTK_EVOL", cctkGH); // Checking PoisonCheck (cctkGH, currenttime); diff --git a/Carpet/Carpet/src/Initialise.cc b/Carpet/Carpet/src/Initialise.cc index a37bdf2b6..4d1128386 100644 --- a/Carpet/Carpet/src/Initialise.cc +++ b/Carpet/Carpet/src/Initialise.cc @@ -131,6 +131,10 @@ namespace Carpet { void CallSetup (cGH * const cctkGH) { + char const * const where = "Initialise::CallSetup"; + static Timer timer (where); + timer.start(); + BEGIN_MGLEVEL_LOOP(cctkGH) { do_global_mode = true; do_meta_mode = mglevel==mglevels-1; // on first iteration, coarsest grid @@ -144,15 +148,15 @@ namespace Carpet { } // Register coordinates - Checkpoint ("Scheduling CCTK_WRAGH"); - CCTK_ScheduleTraverse ("CCTK_WRAGH", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_WRAGH", cctkGH); // Check parameters - Checkpoint ("Scheduling PARAMCHECK"); - CCTK_ScheduleTraverse ("CCTK_PARAMCHECK", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PARAMCHECK", cctkGH); } END_MGLEVEL_LOOP; CCTKi_FinaliseParamWarn(); + + timer.stop(); } @@ -160,6 +164,10 @@ namespace Carpet { void CallRecoverVariables (cGH * const cctkGH) { + char const * const where = "Initialise::CallRecoverVariables"; + static Timer timer (where); + timer.start(); + DECLARE_CCTK_PARAMETERS; for (int rl=0; rl<reflevels; ++rl) { @@ -186,8 +194,7 @@ namespace Carpet { Poison (cctkGH, alltimes, CCTK_GF); // Set up the grids - Checkpoint ("Scheduling BASEGRID"); - CCTK_ScheduleTraverse ("CCTK_BASEGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_BASEGRID", cctkGH); // Timing statistics if (do_global_mode) { @@ -195,8 +202,7 @@ namespace Carpet { } // Recover - Checkpoint ("Scheduling RECOVER_VARIABLES"); - CCTK_ScheduleTraverse ("CCTK_RECOVER_VARIABLES", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_RECOVER_VARIABLES", cctkGH); if (regrid_during_recovery) { CallRegridRecoverLevel (cctkGH); @@ -211,6 +217,8 @@ namespace Carpet { // zones CallRegridRecoverMeta (cctkGH); #endif + + timer.stop(); } @@ -218,6 +226,10 @@ namespace Carpet { void CallPostRecoverVariables (cGH * const cctkGH) { + char const * const where = "Initialise::CallPostRecoverVariables"; + static Timer timer (where); + timer.start(); + for (int rl=0; rl<reflevels; ++rl) { BEGIN_MGLEVEL_LOOP(cctkGH) { ENTER_LEVEL_MODE (cctkGH, rl) { @@ -230,9 +242,7 @@ namespace Carpet { (do_meta_mode ? " (meta)" : "")); // Post recover variables - Checkpoint ("Scheduling POST_RECOVER_VARIABLES"); - CCTK_ScheduleTraverse - ("CCTK_POST_RECOVER_VARIABLES", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POST_RECOVER_VARIABLES", cctkGH); // Checking PoisonCheck (cctkGH, alltimes); @@ -241,6 +251,8 @@ namespace Carpet { } LEAVE_LEVEL_MODE; } END_MGLEVEL_LOOP; } // for rl + + timer.stop(); } @@ -250,6 +262,10 @@ namespace Carpet { { DECLARE_CCTK_PARAMETERS; + char const * const where = "Initialise::CallInitial"; + static Timer timer (where); + timer.start(); + if (not regrid_during_initialisation) { // Regrid once in the beginning CallRegridInitialMeta (cctkGH); @@ -279,8 +295,7 @@ namespace Carpet { Poison (cctkGH, alltimes, CCTK_GF); // Set up the grids - Checkpoint ("Scheduling BASEGRID"); - CCTK_ScheduleTraverse ("CCTK_BASEGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_BASEGRID", cctkGH); // Timing statistics if (do_global_mode) { @@ -317,8 +332,7 @@ namespace Carpet { CycleTimeLevels (cctkGH); // Set up the initial data - Checkpoint ("Scheduling INITIAL"); - CCTK_ScheduleTraverse ("CCTK_INITIAL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_INITIAL", cctkGH); // Checking PoisonCheck (cctkGH, currenttime); @@ -336,6 +350,8 @@ namespace Carpet { } END_MGLEVEL_LOOP; } // for rl + + timer.stop(); } @@ -362,6 +378,10 @@ namespace Carpet { void CallPostInitial (cGH * const cctkGH) { + char const * const where = "Initialise::CallPostInitial"; + static Timer timer (where); + timer.start(); + for (int rl=0; rl<reflevels; ++rl) { BEGIN_MGLEVEL_LOOP(cctkGH) { ENTER_LEVEL_MODE (cctkGH, rl) { @@ -374,16 +394,11 @@ namespace Carpet { (do_meta_mode ? " (meta)" : "")); if (reflevel < reflevels-1) { - Checkpoint ("Scheduling POSTRESTRICTINITIAL"); - CCTK_ScheduleTraverse - ("CCTK_POSTRESTRICTINITIAL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTRESTRICTINITIAL", cctkGH); } - Checkpoint ("Scheduling POSTINITIAL"); - CCTK_ScheduleTraverse ("CCTK_POSTINITIAL", cctkGH, CallFunction); - - Checkpoint ("Scheduling POSTSTEP"); - CCTK_ScheduleTraverse ("CCTK_POSTSTEP", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTINITIAL", cctkGH); + ScheduleTraverse (where, "CCTK_POSTSTEP", cctkGH); PoisonCheck (cctkGH, alltimes); CheckChecksums (cctkGH, allbutcurrenttime); @@ -391,6 +406,8 @@ namespace Carpet { } LEAVE_LEVEL_MODE; } END_MGLEVEL_LOOP; } // for rl + + timer.stop(); } @@ -464,15 +481,13 @@ namespace Carpet { cctkGH->cctk_iteration, (double)cctkGH->cctk_time, (do_global_mode ? " (global)" : ""), (do_meta_mode ? " (meta)" : "")); - Checkpoint ("Scheduling PREREGRIDINITIAL"); - CCTK_ScheduleTraverse ("CCTK_PREREGRIDINITIAL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PREREGRIDINITIAL", cctkGH); } else { Waypoint ("Preregrid at iteration %d time %g%s%s", cctkGH->cctk_iteration, (double)cctkGH->cctk_time, (do_global_mode ? " (global)" : ""), (do_meta_mode ? " (meta)" : "")); - Checkpoint ("Scheduling PREREGRID"); - CCTK_ScheduleTraverse ("CCTK_PREREGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PREREGRID", cctkGH); } } @@ -552,13 +567,9 @@ namespace Carpet { // Postregrid if (regridinitial) { - Checkpoint ("Scheduling POSTREGRIDINITIAL"); - CCTK_ScheduleTraverse - ("CCTK_POSTREGRIDINITIAL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTREGRIDINITIAL", cctkGH); } else { - Checkpoint ("Scheduling POSTREGRID"); - CCTK_ScheduleTraverse - ("CCTK_POSTREGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTREGRID", cctkGH); } } // for tl @@ -586,6 +597,10 @@ namespace Carpet { { DECLARE_CCTK_PARAMETERS; + char const * const where = "Initialise::CallRegridRecoverMeta"; + static Timer timer (where); + timer.start(); + assert (is_meta_mode()); bool const old_do_global_mode = do_global_mode; @@ -638,9 +653,7 @@ namespace Carpet { cctkGH->cctk_delta_time / cctkGH->cctk_timefac; // Postregrid - Checkpoint ("Scheduling POSTREGRID"); - CCTK_ScheduleTraverse - ("CCTK_POSTREGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTREGRID", cctkGH); } // for tl cctkGH->cctk_time = old_cctk_time; @@ -654,6 +667,8 @@ namespace Carpet { do_global_mode = old_do_global_mode; do_meta_mode = old_do_meta_mode; + + timer.stop(); } @@ -663,6 +678,10 @@ namespace Carpet { { DECLARE_CCTK_PARAMETERS; + char const * const where = "Initialise::CallRegridRecoverLevel"; + static Timer timer (where); + timer.start(); + CCTK_WARN (CCTK_WARN_ALERT, "Regridding in level mode after recovering is discouraged"); @@ -678,8 +697,7 @@ namespace Carpet { cctkGH->cctk_iteration, (double)cctkGH->cctk_time, (do_global_mode ? " (global)" : ""), (do_meta_mode ? " (meta)" : "")); - Checkpoint ("Scheduling PREREGRID"); - CCTK_ScheduleTraverse ("CCTK_PREREGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PREREGRID", cctkGH); // Regrid Checkpoint ("Regrid"); @@ -741,9 +759,7 @@ namespace Carpet { cctkGH->cctk_delta_time / cctkGH->cctk_timefac; // Postregrid - Checkpoint ("Scheduling POSTREGRID"); - CCTK_ScheduleTraverse - ("CCTK_POSTREGRID", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTREGRID", cctkGH); } // for tl cctkGH->cctk_time = old_cctk_time; @@ -760,6 +776,8 @@ namespace Carpet { do_global_mode = old_do_global_mode; do_meta_mode = old_do_meta_mode; + + timer.stop(); } @@ -769,6 +787,10 @@ namespace Carpet { { DECLARE_CCTK_PARAMETERS; + char const * const where = "Initialise::CallRegridInitialMeta"; + static Timer timer (where); + timer.start(); + assert (is_meta_mode()); bool const old_do_global_mode = do_global_mode; @@ -784,8 +806,7 @@ namespace Carpet { cctkGH->cctk_iteration, (double)cctkGH->cctk_time, (do_global_mode ? " (global)" : ""), (do_meta_mode ? " (meta)" : "")); - Checkpoint ("Scheduling PREREGRIDINITIAL"); - CCTK_ScheduleTraverse ("CCTK_PREREGRIDINITIAL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PREREGRIDINITIAL", cctkGH); // Regrid Checkpoint ("Regrid"); @@ -807,6 +828,8 @@ namespace Carpet { do_global_mode = old_do_global_mode; do_meta_mode = old_do_meta_mode; + + timer.stop(); } @@ -816,6 +839,10 @@ namespace Carpet { { DECLARE_CCTK_PARAMETERS; + char const * const where = "Initialise::CallRegridInitialLevel"; + static Timer timer (where); + timer.start(); + CCTK_WARN (CCTK_WARN_ALERT, "Regridding in level mode while initialising is discouraged"); @@ -831,8 +858,7 @@ namespace Carpet { cctkGH->cctk_iteration, (double)cctkGH->cctk_time, (do_global_mode ? " (global)" : ""), (do_meta_mode ? " (meta)" : "")); - Checkpoint ("Scheduling PREREGRIDINITIAL"); - CCTK_ScheduleTraverse ("CCTK_PREREGRIDINITIAL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PREREGRIDINITIAL", cctkGH); // Regrid Checkpoint ("Regrid"); @@ -895,9 +921,7 @@ namespace Carpet { cctkGH->cctk_delta_time / cctkGH->cctk_timefac; // Postregrid - Checkpoint ("Scheduling POSTREGRIDINITIAL"); - CCTK_ScheduleTraverse - ("CCTK_POSTREGRIDINITIAL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTREGRIDINITIAL", cctkGH); } // for tl cctkGH->cctk_time = old_cctk_time; @@ -914,6 +938,8 @@ namespace Carpet { do_global_mode = old_do_global_mode; do_meta_mode = old_do_meta_mode; + + timer.stop(); } @@ -1009,6 +1035,10 @@ namespace Carpet { void initialise_3tl_evolve_Ia (cGH * const cctkGH) { + char const * const where = "Initialise3TL::EvolveIa"; + static Timer timer (where); + timer.start(); + Waypoint ("Initialisation 3TL evolution I (a) (forwards) at iteration" " %d time %g%s%s", cctkGH->cctk_iteration, (double)cctkGH->cctk_time, @@ -1019,12 +1049,12 @@ namespace Carpet { Poison (cctkGH, currenttimebutnotifonly); // Evolve forward - Checkpoint ("Scheduling PRESTEP"); - CCTK_ScheduleTraverse ("CCTK_PRESTEP", cctkGH, CallFunction); - Checkpoint ("Scheduling EVOL"); - CCTK_ScheduleTraverse ("CCTK_EVOL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PRESTEP", cctkGH); + ScheduleTraverse (where, "CCTK_EVOL", cctkGH); PoisonCheck (cctkGH, currenttime); + + timer.stop(); } void @@ -1052,6 +1082,10 @@ namespace Carpet { void initialise_3tl_evolve_Ib (cGH * const cctkGH) { + char const * const where = "Initialise3TL::EvolveIb"; + static Timer timer (where); + timer.start(); + Waypoint ("Initialisation 3TL evolution I (b) (backwards) at iteration" " %d time %g%s%s", cctkGH->cctk_iteration, (double)cctkGH->cctk_time, @@ -1063,13 +1097,13 @@ namespace Carpet { Poison (cctkGH, currenttimebutnotifonly); // Evolve backward - Checkpoint ("Scheduling PRESTEP"); - CCTK_ScheduleTraverse ("CCTK_PRESTEP", cctkGH, CallFunction); - Checkpoint ("Scheduling EVOL"); - CCTK_ScheduleTraverse ("CCTK_EVOL", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PRESTEP", cctkGH); + ScheduleTraverse (where, "CCTK_EVOL", cctkGH); // Checking PoisonCheck (cctkGH, alltimes); + + timer.stop(); } // Evolve backwards one more timestep @@ -1077,6 +1111,10 @@ namespace Carpet { void initialise_3tl_evolve_IIb (cGH * const cctkGH) { + char const * const where = "Initialise3TL::EvolveIIb"; + static Timer timer (where); + timer.start(); + Waypoint ("Initialisation 3TL evolution II (b) (backwards) at iteration" " %d time %g%s%s", cctkGH->cctk_iteration, (double)cctkGH->cctk_time, @@ -1086,14 +1124,14 @@ namespace Carpet { Restrict (cctkGH); if (reflevel < reflevels-1) { - Checkpoint ("Scheduling POSTRESTRICT"); - CCTK_ScheduleTraverse ("CCTK_POSTRESTRICT", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTRESTRICT", cctkGH); } - Checkpoint ("Scheduling POSTSTEP"); - CCTK_ScheduleTraverse ("CCTK_POSTSTEP", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_POSTSTEP", cctkGH); PoisonCheck (cctkGH, alltimes); + + timer.stop(); } void @@ -1113,6 +1151,10 @@ namespace Carpet { void initialise_3tl_evolve_Ic (cGH * const cctkGH) { + char const * const where = "Initialise3TL::EvolveIc"; + static Timer timer (where); + timer.start(); + Waypoint ("Initialisation 3TL evolution I (c) (backwards) at iteration" " %d time %g%s%s", cctkGH->cctk_iteration, (double)cctkGH->cctk_time, @@ -1123,14 +1165,13 @@ namespace Carpet { Poison (cctkGH, currenttimebutnotifonly); // Evolve backward - Checkpoint ("Scheduling PRESTEP"); - CCTK_ScheduleTraverse ("CCTK_PRESTEP", cctkGH, CallFunction); - Checkpoint ("Scheduling EVOL"); - CCTK_ScheduleTraverse ("CCTK_EVOL", cctkGH, CallFunction); - Checkpoint ("Scheduling POSTSTEP"); - CCTK_ScheduleTraverse ("CCTK_POSTSTEP", cctkGH, CallFunction); + ScheduleTraverse (where, "CCTK_PRESTEP", cctkGH); + ScheduleTraverse (where, "CCTK_EVOL", cctkGH); + ScheduleTraverse (where, "CCTK_POSTSTEP", cctkGH); PoisonCheck (cctkGH, alltimes); + + timer.stop(); } void |