diff --git a/python/dune/perftool/generation/loopy.py b/python/dune/perftool/generation/loopy.py index 38746ff91313504a806f802bdc091deca82214fc..2fb432b191040d341bb62d37544253daa6bc9b0b 100644 --- a/python/dune/perftool/generation/loopy.py +++ b/python/dune/perftool/generation/loopy.py @@ -10,7 +10,8 @@ iname = generator_factory(item_tags=("loopy", "kernel", "iname")) temporary_variable = generator_factory(item_tags=("loopy", "kernel", "temporary"), on_store=lambda n: loopy.TemporaryVariable(n, dtype=numpy.float64), no_deco=True) valuearg = generator_factory(item_tags=("loopy", "kernel", "argument", "valuearg"), on_store=lambda n: loopy.ValueArg(n), no_deco=True) pymbolic_expr = generator_factory(item_tags=("loopy", "kernel", "pymbolic")) -constantarg = generator_factory(item_tags=("loopy", "kernel", "argument", "constantarg"), on_store=lambda n:loopy.ConstantArg(n)) +constantarg = generator_factory(item_tags=("loopy", "kernel", "argument", "constantarg"), on_store=lambda n: loopy.ConstantArg(n)) + @generator_factory(item_tags=("loopy", "kernel", "argument", "globalarg")) def globalarg(name, shape=loopy.auto): @@ -31,6 +32,7 @@ def domain(iname, shape): # There is one generator that returns the unique id and forwards to a generator that # actually adds the instruction. Hashing is done based on the code snippet. + @generator_factory(item_tags=("loopy", "kernel", "instruction", "cinstruction"), cache_key_generator=lambda *a, **kw: kw['code'], ) diff --git a/python/dune/perftool/loopy/transformer.py b/python/dune/perftool/loopy/transformer.py index 7d2ae27c0552b6495e0c401799f5f30ab069ae4c..c2b8117e803de31f3daf742f25c9a9039de1115c 100644 --- a/python/dune/perftool/loopy/transformer.py +++ b/python/dune/perftool/loopy/transformer.py @@ -22,16 +22,6 @@ from ufl.algorithms import MultiFunction import loopy -@iname -def dimension_iname(index): - from dune.perftool.pdelab import name_index - from dune.perftool.pdelab.geometry import name_dimension - iname = name_index(index) - dimname = name_dimension() - domain(iname, dimname) - return iname - - @iname def argument_iname(arg): # TODO extract the {iname}_n thing by a preamble @@ -154,4 +144,4 @@ def transform_accumulation_term(term): expr_tv_name, name_factor() ) - ) \ No newline at end of file + ) diff --git a/python/dune/perftool/pdelab/argument.py b/python/dune/perftool/pdelab/argument.py index 720108b39f380563833d2d31ccc94d685cdf5d92..cc8cdd8add783c241caeeec4a9b892addff1e23b 100644 --- a/python/dune/perftool/pdelab/argument.py +++ b/python/dune/perftool/pdelab/argument.py @@ -79,6 +79,7 @@ def pymbolic_argument(ma): return pymbolic_trialfunction(ma) assert False + @symbol def name_residual(): return "r"