From 2d79f6e67a0ae5cb5b51ddca6d01891173fa9fc6 Mon Sep 17 00:00:00 2001 From: Marcel Koch <marcel.koch@uni-muenster.de> Date: Wed, 3 Apr 2019 15:01:49 +0200 Subject: [PATCH] adds silenced_warnings instead of instructions --- python/dune/codegen/blockstructured/vectorization.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/python/dune/codegen/blockstructured/vectorization.py b/python/dune/codegen/blockstructured/vectorization.py index d5224e6f..7c30f810 100644 --- a/python/dune/codegen/blockstructured/vectorization.py +++ b/python/dune/codegen/blockstructured/vectorization.py @@ -26,20 +26,22 @@ def add_vcl_temporaries(knl, vcl_size): init_iname = 'init_vec{}'.format(vcl_size) from islpy import BasicSet init_domain = BasicSet("{{ [{0}] : 0<={0}<{1} }}".format(init_iname, get_vcl_type_size(dtype_floatingpoint()))) + + silenced_warnings = [] + for alias in vector_alias: vector_name = alias.replace('alias', 'vec{}'.format(vcl_size)) new_vec_temporaries[vector_name] = DuneTemporaryVariable(vector_name, dtype=np.float64, shape=(vcl_size,), managed=True, scope=lp.temp_var_scope.PRIVATE, dim_tags=('vec',)) - # write once to the vector such that loopy won't complain - new_insns.append(lp.Assignment(assignee=prim.Subscript(prim.Variable(vector_name), prim.Variable(init_iname)), - expression=0, within_inames=frozenset({init_iname}), - id='init_{}'.format(vector_name))) + # silence warning such that loopy won't complain + silenced_warnings.append("read_no_write({})".format(vector_name)) from loopy.kernel.data import VectorizeTag return knl.copy(instructions=knl.instructions + new_insns, domains=knl.domains + [init_domain], temporary_variables=dict(**knl.temporary_variables, **new_vec_temporaries), - iname_to_tag=dict(**knl.iname_to_tag, **{init_iname: VectorizeTag()})) + iname_to_tag=dict(**knl.iname_to_tag, **{init_iname: VectorizeTag()}), + silenced_warnings=knl.silenced_warnings + silenced_warnings) def add_vcl_accum_insns(knl, inner_iname, outer_iname, vcl_size, level): -- GitLab