From 9926a30de581e7794703028a6d8eb86120391116 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Mon, 9 Oct 2017 14:19:05 +0200 Subject: [PATCH] Write out the instrumentation level --- dune/perftool/common/timer_chrono.hh | 20 +++++++++---------- dune/perftool/common/timer_tsc.hh | 20 +++++++++---------- python/dune/perftool/generation/cpp.py | 2 +- .../dune/perftool/pdelab/driver/__init__.py | 2 +- python/dune/perftool/pdelab/driver/solve.py | 2 +- python/dune/perftool/pdelab/driver/timings.py | 6 +++--- 6 files changed, 26 insertions(+), 26 deletions(-) diff --git a/dune/perftool/common/timer_chrono.hh b/dune/perftool/common/timer_chrono.hh index 6e2098a1..91fee78e 100644 --- a/dune/perftool/common/timer_chrono.hh +++ b/dune/perftool/common/timer_chrono.hh @@ -79,35 +79,35 @@ #ifdef ENABLE_COUNTER -#define DUMP_TIMER(name,os,reset)\ +#define DUMP_TIMER(level,name,os,reset)\ if (HP_TIMER_ELAPSED(name) > 1e-12) \ - os << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ HP_TIMER_OPCOUNTERS(name).reportOperations(os,ident,#name,reset); -#define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) \ +#define DUMP_AND_ACCUMULATE_TIMER(level,name,os,reset,time,ops) \ if (HP_TIMER_ELAPSED(name) > 1e-12) \ - os << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ time += HP_TIMER_ELAPSED(name); \ ops += HP_TIMER_OPCOUNTERS(name); \ HP_TIMER_OPCOUNTERS(name).reportOperations(os,ident,#name,reset); #elif defined ENABLE_HP_TIMERS -#define DUMP_TIMER(name,os,reset) \ +#define DUMP_TIMER(level,name,os,reset) \ if (HP_TIMER_ELAPSED(name) > 1e-12) \ - os << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ if (reset) HP_TIMER_RESET(name); -#define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) \ +#define DUMP_AND_ACCUMULATE_TIMER(level,name,os,reset,time,ops) \ if (HP_TIMER_ELAPSED(name) > 1e-12) \ - os << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << HP_TIMER_ELAPSED(name) << std::endl; \ time += HP_TIMER_ELAPSED(name); \ if (reset) HP_TIMER_RESET(name); #else -#define DUMP_TIMER(name,os,reset) -#define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) +#define DUMP_TIMER(level,name,os,reset) +#define DUMP_AND_ACCUMULATE_TIMER(level,name,os,reset,time,ops) #endif diff --git a/dune/perftool/common/timer_tsc.hh b/dune/perftool/common/timer_tsc.hh index a893fdae..3089ec3f 100644 --- a/dune/perftool/common/timer_tsc.hh +++ b/dune/perftool/common/timer_tsc.hh @@ -77,35 +77,35 @@ #ifdef ENABLE_COUNTER -#define DUMP_TIMER(name,os,reset)\ +#define DUMP_TIMER(level,name,os,reset)\ if (HP_TIMER_DURATION(name) > 1e-12) \ - os << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ HP_TIMER_OPCOUNTERS(name).reportOperations(os,ident,#name,reset); -#define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) \ +#define DUMP_AND_ACCUMULATE_TIMER(level,name,os,reset,time,ops) \ if (HP_TIMER_DURATION(name) > 1e-12) \ - os << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ time += HP_TIMER_DURATION(name); \ ops += HP_TIMER_OPCOUNTERS(name); \ HP_TIMER_OPCOUNTERS(name).reportOperations(os,ident,#name,reset); #elif defined ENABLE_HP_TIMERS -#define DUMP_TIMER(name,os,reset) \ +#define DUMP_TIMER(level, name,os,reset) \ if (HP_TIMER_DURATION(name) > 1e-12) \ - os << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ if (reset) HP_TIMER_RESET(name); -#define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) \ +#define DUMP_AND_ACCUMULATE_TIMER(level, name,os,reset,time,ops) \ if (HP_TIMER_DURATION(name) > 1e-12) \ - os << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ + os << #level << " " << ident << " " << #name << " time " << Dune::PDELab::TSC::seconds(HP_TIMER_DURATION(name)) << std::endl; \ time += HP_TIMER_DURATION(name); \ if (reset) HP_TIMER_RESET(name); #else -#define DUMP_TIMER(name,os,reset) -#define DUMP_AND_ACCUMULATE_TIMER(name,os,reset,time,ops) +#define DUMP_TIMER(level,name,os,reset) +#define DUMP_AND_ACCUMULATE_TIMER(level,name,os,reset,time,ops) #endif diff --git a/python/dune/perftool/generation/cpp.py b/python/dune/perftool/generation/cpp.py index 0db90171..8ee17a24 100644 --- a/python/dune/perftool/generation/cpp.py +++ b/python/dune/perftool/generation/cpp.py @@ -48,5 +48,5 @@ def dump_accumulate_timer(name): # reset = name_time_dumper_reset() reset = 'false' - code = "DUMP_TIMER({},{},{});".format(name, os, reset) + code = "DUMP_TIMER({},{},{},{});".format(get_option("instrumentation_level"), name, os, reset) return code diff --git a/python/dune/perftool/pdelab/driver/__init__.py b/python/dune/perftool/pdelab/driver/__init__.py index 2c38881f..46ced0b3 100644 --- a/python/dune/perftool/pdelab/driver/__init__.py +++ b/python/dune/perftool/pdelab/driver/__init__.py @@ -295,7 +295,7 @@ def generate_driver(formdatas, data): post_include("HP_DECLARE_TIMER(driver);\n", filetag="driver") contents.insert(0, Line(text="HP_TIMER_START(driver);\n")) contents.insert(len(contents) - 1, Line(text="HP_TIMER_STOP(driver);\n")) - contents.insert(len(contents) - 1, Line(text="DUMP_TIMER(driver, {}, true);\n".format(timestream))) + contents.insert(len(contents) - 1, Line(text="DUMP_TIMER({}, driver, {}, true);\n".format(get_option("instrumentation_level"), timestream))) contents.insert(0, Line(text="\n")) driver_body = Block(contents) driver = FunctionBody(driver_signature, driver_body) diff --git a/python/dune/perftool/pdelab/driver/solve.py b/python/dune/perftool/pdelab/driver/solve.py index 389a10c4..8042492c 100644 --- a/python/dune/perftool/pdelab/driver/solve.py +++ b/python/dune/perftool/pdelab/driver/solve.py @@ -67,7 +67,7 @@ def dune_solve(): solve = ["HP_TIMER_START(solve);", "{}".format(solve), "HP_TIMER_STOP(solve);", - "DUMP_TIMER(solve, {}, true);".format(timestream), + "DUMP_TIMER({}, solve, {}, true);".format(get_option("instrumentation_level"), timestream), ] if get_option('instrumentation_level') >= 3: solve.extend(print_times) diff --git a/python/dune/perftool/pdelab/driver/timings.py b/python/dune/perftool/pdelab/driver/timings.py index d420e61e..2b00b92c 100644 --- a/python/dune/perftool/pdelab/driver/timings.py +++ b/python/dune/perftool/pdelab/driver/timings.py @@ -98,7 +98,7 @@ def evaluate_residual_timer(): evaluation = ["HP_TIMER_START(residual_evaluation);", "{}.residual({}, r);".format(n_go, v), "HP_TIMER_STOP(residual_evaluation);", - "DUMP_TIMER(residual_evaluation, {}, true);".format(timestream)] + "DUMP_TIMER({}, residual_evaluation, {}, true);".format(get_option("instrumentation_level"), timestream)] evaluation.extend(print_times) else: evaluation = ["{}.residual({}, r);".format(n_go, v)] @@ -137,7 +137,7 @@ def apply_jacobian_timer(): evaluation = ["HP_TIMER_START(apply_jacobian);", "{}.jacobian_apply({}, j);".format(n_go, v), "HP_TIMER_STOP(apply_jacobian);", - "DUMP_TIMER(apply_jacobian, {}, true);".format(timestream)] + "DUMP_TIMER({}, apply_jacobian, {}, true);".format(get_option("instrumentation_level"), timestream)] evaluation.extend(print_times) else: evaluation = ["{}.jacobian_apply({}, j);".format(n_go, v)] @@ -174,7 +174,7 @@ def assemble_matrix_timer(): assembly = ["HP_TIMER_START(matrix_assembly);", "{}.jacobian({},m);".format(n_go, v), "HP_TIMER_STOP(matrix_assembly);", - "DUMP_TIMER(matrix_assembly, {}, true);".format(timestream)] + "DUMP_TIMER({}, matrix_assembly, {}, true);".format(get_option("instrumentation_level"), timestream)] assembly.extend(print_times) else: assembly = ["{}.jacobian({},m);".format(n_go, v)] -- GitLab