Skip to content
Snippets Groups Projects
Commit 2d79f6e6 authored by Marcel Koch's avatar Marcel Koch
Browse files

adds silenced_warnings instead of instructions

parent 21fe1d77
No related branches found
No related tags found
No related merge requests found
......@@ -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):
......
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