diff --git a/patches/loopy/tempdep.patch b/patches/loopy/tempdep.patch deleted file mode 100644 index c73b90733f4869866778289cc94c9da33333862f..0000000000000000000000000000000000000000 --- a/patches/loopy/tempdep.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/loopy/kernel/creation.py b/loopy/kernel/creation.py -index d9cd76c..a95cc1e 100644 ---- a/loopy/kernel/creation.py -+++ b/loopy/kernel/creation.py -@@ -1518,7 +1518,7 @@ def apply_single_writer_depencency_heuristic(kernel, warn_if_used=True): - "temporary variable '%s' is read, but never written." - % var) - -- if len(var_writers) == 1: -+ if len(var_writers) >= 1: - auto_deps.update( - var_writers - - set([insn.id])) diff --git a/python/dune/perftool/pdelab/geometry.py b/python/dune/perftool/pdelab/geometry.py index 7afe2854f597d1a4207c1b8f20088bd11c0b9be0..d39bd9cb578b62e17f64eb6920bcde855cc32980 100644 --- a/python/dune/perftool/pdelab/geometry.py +++ b/python/dune/perftool/pdelab/geometry.py @@ -21,6 +21,8 @@ from ufl.algorithms import MultiFunction from pymbolic.primitives import Variable from pymbolic.primitives import Expression as PymbolicExpression +from loopy.match import Writes + import numpy as np @@ -205,6 +207,7 @@ def apply_in_cell_transformation(name, local, restriction): ), assignees=frozenset({name}), read_variables=frozenset({get_pymbolic_basename(local)}), + depends_on=frozenset({Writes(get_pymbolic_basename(local))}), ) @@ -240,6 +243,7 @@ def evaluate_unit_outer_normal(name): return quadrature_preamble("{} = {}.unitOuterNormal({});".format(name, ig, qp), assignees=frozenset({name}), read_variables=frozenset({get_pymbolic_basename(qp)}), + depends_on=frozenset({Writes(get_pymbolic_basename(qp))}), ) @@ -318,6 +322,7 @@ def define_jacobian_inverse_transposed(name, restriction): ), assignees=frozenset({name}), read_variables=frozenset({get_pymbolic_basename(pos)}), + depends_on=frozenset({Writes(get_pymbolic_basename(pos))}), ) @@ -353,6 +358,7 @@ def define_jacobian_determinant(name): return quadrature_preamble(code, assignees=frozenset({name}), read_variables=frozenset({get_pymbolic_basename(pos)}), + depends_on=frozenset({Writes(get_pymbolic_basename(pos))}), ) diff --git a/python/dune/perftool/pdelab/parameter.py b/python/dune/perftool/pdelab/parameter.py index 0d3aa6a29d11f8c520687ded1fb839c95797dcd7..f5a3e356fb4c7db5d3746d909c0dfa92cbf779f5 100644 --- a/python/dune/perftool/pdelab/parameter.py +++ b/python/dune/perftool/pdelab/parameter.py @@ -24,6 +24,8 @@ from dune.perftool.pdelab.localoperator import (class_type_from_cache, localoperator_basename, ) +from loopy.match import Writes + @class_basename(classtag="parameterclass") def parameterclass_basename(formdata, data): @@ -177,6 +179,7 @@ def evaluate_cell_parameter_function(name, restriction): ), assignees=frozenset({name}), read_variables=frozenset({get_pymbolic_basename(pos)}), + depends_on=frozenset({Writes(get_pymbolic_basename(pos))}), ) @@ -197,6 +200,7 @@ def evaluate_intersection_parameter_function(name): ), assignees=frozenset({name}), read_variables=frozenset({get_pymbolic_basename(pos)}), + depends_on=frozenset({Writes(get_pymbolic_basename(pos))}), )