Skip to content
Snippets Groups Projects
Commit a870d75a authored by Dominic Kempf's avatar Dominic Kempf
Browse files

Make opcounting work withou volume integrals present

parent 9b768b42
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,7 @@ from dune.perftool.generation import (backend, ...@@ -9,6 +9,7 @@ from dune.perftool.generation import (backend,
constructor_parameter, constructor_parameter,
domain, domain,
dump_accumulate_timer, dump_accumulate_timer,
generator_factory,
get_backend, get_backend,
get_global_context_value, get_global_context_value,
global_context, global_context,
...@@ -569,12 +570,19 @@ def name_time_dumper_exec(): ...@@ -569,12 +570,19 @@ def name_time_dumper_exec():
return "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): class TimerMethod(ClassMember):
def __init__(self): def __init__(self):
os = name_time_dumper_os() os = name_time_dumper_os()
reset = name_time_dumper_reset() reset = name_time_dumper_reset()
t = name_time_dumper_t() t = name_time_dumper_t()
ex = name_time_dumper_exec() ex = name_time_dumper_exec()
knl = name_example_kernel()
assert(knl is not None)
# TODO: operator counting only works if alpha_volume_kernel exists # TODO: operator counting only works if alpha_volume_kernel exists
content = ["template <typename Stream>", content = ["template <typename Stream>",
...@@ -582,7 +590,7 @@ class TimerMethod(ClassMember): ...@@ -582,7 +590,7 @@ class TimerMethod(ClassMember):
"{", "{",
" double {} = 0.0;".format(t), " double {} = 0.0;".format(t),
"#ifdef ENABLE_COUNTER", "#ifdef ENABLE_COUNTER",
" auto counter = HP_TIMER_OPCOUNTERS(alpha_volume_kernel);", " auto counter = HP_TIMER_OPCOUNTERS({});".format(knl),
" counter.reset();", " counter.reset();",
"#endif", "#endif",
""] ""]
...@@ -617,6 +625,7 @@ class LoopyKernelMethod(ClassMember): ...@@ -617,6 +625,7 @@ class LoopyKernelMethod(ClassMember):
# Start timer # Start timer
if add_timings and get_option('timer'): if add_timings and get_option('timer'):
timer_name = assembler_routine_name() + '_kernel' timer_name = assembler_routine_name() + '_kernel'
name_example_kernel(name=timer_name)
post_include('HP_DECLARE_TIMER({});'.format(timer_name), filetag='operatorfile') post_include('HP_DECLARE_TIMER({});'.format(timer_name), filetag='operatorfile')
content.append(' ' + 'HP_TIMER_START({});'.format(timer_name)) content.append(' ' + 'HP_TIMER_START({});'.format(timer_name))
dump_accumulate_timer(timer_name) dump_accumulate_timer(timer_name)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment