From a870d75a935f7ea751dc0bc85e1a3790eb3e1cea Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Tue, 6 Dec 2016 11:19:34 +0100 Subject: [PATCH] Make opcounting work withou volume integrals present --- python/dune/perftool/pdelab/localoperator.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/python/dune/perftool/pdelab/localoperator.py b/python/dune/perftool/pdelab/localoperator.py index 98232579..bab76141 100644 --- a/python/dune/perftool/pdelab/localoperator.py +++ b/python/dune/perftool/pdelab/localoperator.py @@ -9,6 +9,7 @@ from dune.perftool.generation import (backend, constructor_parameter, domain, dump_accumulate_timer, + generator_factory, get_backend, get_global_context_value, global_context, @@ -569,12 +570,19 @@ def name_time_dumper_exec(): return "exec" +@generator_factory(item_tags=("cached",), cache_key_generator=lambda **kw: None) +def name_example_kernel(name=None): + return name + + class TimerMethod(ClassMember): def __init__(self): os = name_time_dumper_os() reset = name_time_dumper_reset() t = name_time_dumper_t() ex = name_time_dumper_exec() + knl = name_example_kernel() + assert(knl is not None) # TODO: operator counting only works if alpha_volume_kernel exists content = ["template <typename Stream>", @@ -582,7 +590,7 @@ class TimerMethod(ClassMember): "{", " double {} = 0.0;".format(t), "#ifdef ENABLE_COUNTER", - " auto counter = HP_TIMER_OPCOUNTERS(alpha_volume_kernel);", + " auto counter = HP_TIMER_OPCOUNTERS({});".format(knl), " counter.reset();", "#endif", ""] @@ -617,6 +625,7 @@ class LoopyKernelMethod(ClassMember): # Start timer if add_timings and get_option('timer'): timer_name = assembler_routine_name() + '_kernel' + name_example_kernel(name=timer_name) post_include('HP_DECLARE_TIMER({});'.format(timer_name), filetag='operatorfile') content.append(' ' + 'HP_TIMER_START({});'.format(timer_name)) dump_accumulate_timer(timer_name) -- GitLab