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

minor renames

parent 46a16634
No related branches found
No related tags found
No related merge requests found
......@@ -58,25 +58,25 @@ def add_vcl_accum_insns(knl, iname_inner, iname_outer):
inames_tail = frozenset((var.name for var in replace_tail_inames.values()))
# erstelle a[iy] und b
identifier_a = vng('a')
identifier_b = vng('b')
new_vec_temporaries[identifier_a] = DuneTemporaryVariable(identifier_a, dtype=np.float64,
identifier_left = vng('left_node')
identifier_right = vng('right_node')
new_vec_temporaries[identifier_left] = DuneTemporaryVariable(identifier_left, dtype=np.float64,
shape=(2,)*(world_dimension()-1)
+(vcl_size,),
managed=True, scope=lp.temp_var_scope.PRIVATE,
dim_tags=('f',)*(world_dimension()-1)+('vec',))
new_vec_temporaries[identifier_b] = DuneTemporaryVariable(identifier_b, dtype=np.float64,
new_vec_temporaries[identifier_right] = DuneTemporaryVariable(identifier_right, dtype=np.float64,
shape=(vcl_size,), managed=True,
scope=lp.temp_var_scope.PRIVATE, dim_tags=('vec',))
var_a = prim.Subscript(prim.Variable(identifier_a),
var_left = prim.Subscript(prim.Variable(identifier_left),
tuple(prim.Variable(i) for i in sorted(inames_micro - frozenset({iname_ix})))
+(prim.Variable(iname_inner),))
var_b = prim.Subscript(prim.Variable(identifier_b), (prim.Variable(iname_inner),))
var_right = prim.Subscript(prim.Variable(identifier_right), (prim.Variable(iname_inner),))
# init a
id_init_a = idg('insn_init_'+identifier_a)
new_insns.append(lp.Assignment(assignee=substitute(var_a,replace_head_inames),
id_init_a = idg('insn_init_'+identifier_left)
new_insns.append(lp.Assignment(assignee=substitute(var_left,replace_head_inames),
expression=0,
id=id_init_a,
within_inames=(insn.within_inames-frozenset({iname_outer})-inames_micro)
......@@ -86,21 +86,21 @@ def add_vcl_accum_insns(knl, iname_inner, iname_outer):
)
# setze werte für a und b
expr_b = substitute(expr_without_r, {iname_ix:1})
expr_a = prim.Sum((substitute(expr_without_r, {iname_ix:0}), var_a))
id_set_a = idg('insn_'+identifier_a)
id_set_b = idg('insn_'+identifier_b)
new_insns.append(lp.Assignment(assignee=var_b,
expression=expr_b,
id=id_set_b,
expr_right = substitute(expr_without_r, {iname_ix:1})
expr_left = prim.Sum((substitute(expr_without_r, {iname_ix:0}), var_left))
id_set_left = idg('insn_'+identifier_left)
id_set_right = idg('insn_'+identifier_right)
new_insns.append(lp.Assignment(assignee=var_right,
expression=expr_right,
id=id_set_right,
depends_on=insn.depends_on,
within_inames=insn.within_inames-frozenset({iname_ix}),
)
)
new_insns.append(lp.Assignment(assignee=var_a,
expression=expr_a,
id=id_set_a,
new_insns.append(lp.Assignment(assignee=var_left,
expression=expr_left,
id=id_set_left,
depends_on=insn.depends_on|frozenset({id_init_a}),
within_inames=insn.within_inames-frozenset({iname_ix}),
)
......@@ -108,14 +108,14 @@ def add_vcl_accum_insns(knl, iname_inner, iname_outer):
# r+=a[iy]
id_accum = idg('insn_mod_accum')
expr_accum = prim.Sum((var_a,
expr_accum = prim.Sum((var_left,
prim.Call(prim.Variable('permute{}d<-1,{}>'.format(vcl_size,','.join(map(str,range(vcl_size-1))))),
(var_b,)),
(var_right,)),
substitute(insn.assignee, {iname_ix:0})))
new_insns.append(lp.Assignment(assignee=substitute(insn.assignee,{iname_ix:0}),
expression=expr_accum,
id=id_accum,
depends_on=insn.depends_on|frozenset({id_set_a,id_init_a,id_set_b}),
depends_on=insn.depends_on|frozenset({id_set_left,id_init_a,id_set_right}),
within_inames=insn.within_inames-frozenset({iname_ix}),
tags=frozenset({'accum'})
)
......@@ -123,11 +123,11 @@ def add_vcl_accum_insns(knl, iname_inner, iname_outer):
# a[iy] = permute
id_permute = idg('insn_permute')
expr_permute = prim.Call(prim.Variable('permute{}d<3,{}>'.format(vcl_size,','.join(['-1']*(vcl_size-1)))),
(var_b,))
new_insns.append(lp.Assignment(assignee=var_a,
(var_right,))
new_insns.append(lp.Assignment(assignee=var_left,
expression=expr_permute,
id=id_permute,
depends_on=insn.depends_on|frozenset({id_set_a,id_init_a,id_set_b,
depends_on=insn.depends_on|frozenset({id_set_left,id_init_a,id_set_right,
id_accum}),
within_inames=insn.within_inames-frozenset({iname_ix})
)
......@@ -139,12 +139,12 @@ def add_vcl_accum_insns(knl, iname_inner, iname_outer):
iname_ix: 0, insn.assignee_name: prim.Variable(insn.assignee_name+'_tail'),
**replace_tail_inames}
assignee_tail = substitute(insn.assignee, subst_map)
expr_tail = prim.Sum((substitute(var_a, {iname_inner: 0, **replace_tail_inames}), assignee_tail))
expr_tail = prim.Sum((substitute(var_left, {iname_inner: 0, **replace_tail_inames}), assignee_tail))
new_insns.append(lp.Assignment(assignee=assignee_tail,
expression=expr_tail,
id=id_accum_tail,
depends_on=frozenset({id_accum,id_permute, id_set_a, id_init_a}),
depends_on=frozenset({id_accum,id_permute, id_set_left, id_init_a}),
within_inames=(insn.within_inames
- frozenset({iname_inner, iname_outer}) - inames_micro)
| inames_tail,
......@@ -275,8 +275,8 @@ def find_accumulation_inames(knl):
def vectorize_micro_elements(knl):
vcl_size = get_vcl_type_size(np.float64)
if "subel_x" in knl.all_inames():
vcl_size = get_vcl_type_size(np.float64)
knl = lp.split_iname(knl,"subel_x", vcl_size, inner_tag='vec')
array_alias = [a for a in knl.arg_dict.keys() if a.endswith('alias') or a.endswith('tail')]
knl = lp.split_array_axis(knl, array_alias, 0, vcl_size)
......
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