diff --git a/python/dune/codegen/blockstructured/vectorization.py b/python/dune/codegen/blockstructured/vectorization.py index 7c30f8104ab747aaa909329cf6fe9afe8746992a..94bc4875f262c72d695007be04c0b4107208f2f5 100644 --- a/python/dune/codegen/blockstructured/vectorization.py +++ b/python/dune/codegen/blockstructured/vectorization.py @@ -250,6 +250,7 @@ def add_vcl_access(knl, inner_iname, vcl_size, level=0): load_insns.append(lp.CallInstruction(assignees=(), expression=call_load, id=load_id, within_inames=insn.within_inames | insn.reduction_inames(), depends_on=insn.depends_on | write_ids, + depends_on_is_final=True, tags=frozenset({'vectorized_{}'.format(level)}))) read_dependencies.setdefault(id, set()) read_dependencies[id].add(load_id) @@ -279,6 +280,7 @@ def add_vcl_access(knl, inner_iname, vcl_size, level=0): id=store_id, within_inames=insn.within_inames, depends_on=(insn.depends_on | frozenset({id}) | read_dependencies[id] | write_ids), + depends_on_is_final=True, tags=frozenset({'vectorized_{}'.format(level)}))) # replace alias with vcl vector, except for accumulation assignee @@ -343,10 +345,12 @@ def add_vcl_access(knl, inner_iname, vcl_size, level=0): new_insns.append(insn.copy(assignee=assignee_vec, depends_on=(insn.depends_on | read_dependencies[insn.id] | write_ids), + depends_on_is_final=True, tags=insn.tags | frozenset({'vectorized_{}'.format(level)}))) else: new_insns.append(insn.copy(depends_on=(insn.depends_on | read_dependencies[insn.id] | write_ids), + depends_on_is_final=True, tags=insn.tags | frozenset({'vectorized_{}'.format(level)}))) return knl.copy(instructions=new_insns + load_insns + store_insns)