From dd0f64a9bf7f46bf9849632331da5ff62b47a9ba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de>
Date: Mon, 22 Oct 2018 10:55:59 +0200
Subject: [PATCH] Rename permuted_matrix_sequence

---
 python/dune/codegen/sumfact/accumulation.py  |  4 +-
 python/dune/codegen/sumfact/basis.py         |  2 +-
 python/dune/codegen/sumfact/permutation.py   |  2 +-
 python/dune/codegen/sumfact/realization.py   |  8 ++--
 python/dune/codegen/sumfact/symbolic.py      | 42 ++++++++++----------
 python/dune/codegen/sumfact/vectorization.py |  8 ++--
 6 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/python/dune/codegen/sumfact/accumulation.py b/python/dune/codegen/sumfact/accumulation.py
index 5bf6703f..6af42b2f 100644
--- a/python/dune/codegen/sumfact/accumulation.py
+++ b/python/dune/codegen/sumfact/accumulation.py
@@ -126,11 +126,11 @@ class AccumulationOutput(SumfactKernelInterfaceBase, ImmutableRecord):
     def realize(self, sf, result, insn_dep, inames=None, additional_inames=()):
         trial_leaf_element = get_leaf(self.trial_element, self.trial_element_index) if self.trial_element is not None else None
 
-        basis_size = tuple(mat.basis_size for mat in sf.permuted_matrix_sequence)
+        basis_size = tuple(mat.basis_size for mat in sf.matrix_sequence_quadrature_permuted)
 
         if inames is None:
             inames = tuple(accum_iname(trial_leaf_element, mat.rows, i)
-                           for i, mat in enumerate(sf.permuted_matrix_sequence))
+                           for i, mat in enumerate(sf.matrix_sequence_quadrature_permuted))
 
             # Determine the expression to accumulate with. This depends on the vectorization strategy!
             from dune.codegen.tools import maybe_wrap_subscript
diff --git a/python/dune/codegen/sumfact/basis.py b/python/dune/codegen/sumfact/basis.py
index ce29589a..0a1ce5b8 100644
--- a/python/dune/codegen/sumfact/basis.py
+++ b/python/dune/codegen/sumfact/basis.py
@@ -89,7 +89,7 @@ class LFSSumfactKernelInput(SumfactKernelInterfaceBase, ImmutableRecord):
         from dune.codegen.sumfact.realization import name_buffer_storage
         name = "input_{}".format(sf.buffer)
         temporary_variable(name,
-                           shape=(product(mat.basis_size for mat in sf.permuted_matrix_sequence), sf.vector_width),
+                           shape=(product(mat.basis_size for mat in sf.matrix_sequence_quadrature_permuted), sf.vector_width),
                            custom_base_storage=name_buffer_storage(sf.buffer, 0),
                            managed=True,
                            )
diff --git a/python/dune/codegen/sumfact/permutation.py b/python/dune/codegen/sumfact/permutation.py
index 79b758fc..710b4149 100644
--- a/python/dune/codegen/sumfact/permutation.py
+++ b/python/dune/codegen/sumfact/permutation.py
@@ -52,7 +52,7 @@ def sumfact_permutation_strategy(sf):
     heuristic is used to pick one.
     """
     # Extract information from the SumfactKernel object
-    matrix_sequence = sf.permuted_matrix_sequence
+    matrix_sequence = sf.matrix_sequence_quadrature_permuted
     stage = sf.stage
 
     # Combine permutation and matrix_sequence
diff --git a/python/dune/codegen/sumfact/realization.py b/python/dune/codegen/sumfact/realization.py
index d00f2a01..ee8c3bd2 100644
--- a/python/dune/codegen/sumfact/realization.py
+++ b/python/dune/codegen/sumfact/realization.py
@@ -76,8 +76,8 @@ def _realize_sum_factorization_kernel(sf):
     for buf in buffers:
         # Determine the necessary size of the buffer. We assume that we do not
         # underintegrate the form!!!
-        size = max(product(m.quadrature_size for m in sf.permuted_matrix_sequence) * sf.vector_width,
-                   product(m.basis_size for m in sf.permuted_matrix_sequence) * sf.vector_width)
+        size = max(product(m.quadrature_size for m in sf.matrix_sequence_quadrature_permuted) * sf.vector_width,
+                   product(m.basis_size for m in sf.matrix_sequence_quadrature_permuted) * sf.vector_width)
         temporary_variable("{}_dummy".format(buf),
                            shape=(size,),
                            custom_base_storage=buf,
@@ -164,7 +164,7 @@ def realize_sumfact_kernel_function(sf):
     perm = sumfact_permutation_strategy(sf)
 
     # Permute matrix sequence
-    matrix_sequence = permute_forward(sf.permuted_matrix_sequence, perm)
+    matrix_sequence = permute_forward(sf.matrix_sequence_quadrature_permuted, perm)
 
     # Product of all matrices
     for l, matrix in enumerate(matrix_sequence):
@@ -215,7 +215,7 @@ def realize_sumfact_kernel_function(sf):
                 inp_shape = permute_backward(inp_shape, perm)
                 input_inames = permute_backward(input_inames, perm)
                 if sf.stage == 1:
-                    # In the unstructured case the sf.permuted_matrix_sequence could
+                    # In the unstructured case the sf.matrix_sequence_quadrature_permuted could
                     # already be permuted according to
                     # sf.quadrature_permutation. We also need to reverse this
                     # permutation to get the input from 0 to d-1.
diff --git a/python/dune/codegen/sumfact/symbolic.py b/python/dune/codegen/sumfact/symbolic.py
index 8ea27280..ec604c67 100644
--- a/python/dune/codegen/sumfact/symbolic.py
+++ b/python/dune/codegen/sumfact/symbolic.py
@@ -163,7 +163,7 @@ class VectorSumfactKernelOutput(SumfactKernelInterfaceBase):
         from dune.codegen.sumfact.accumulation import accum_iname
         element = get_leaf(trial_element, trial_element_index) if trial_element is not None else None
         inames = tuple(accum_iname(element, mat.rows, i)
-                       for i, mat in enumerate(sf.permuted_matrix_sequence))
+                       for i, mat in enumerate(sf.matrix_sequence_quadrature_permuted))
         veciname = accum_iname(element, sf.vector_width // len(outputs), "vec")
         transform(lp.tag_inames, [(veciname, "vec")])
 
@@ -344,10 +344,10 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
         return lp.symbolic.StringifyMapper
 
     def __str__(self):
-        # Return permuted_matrix_sequence
+        # Return matrix_sequence_quadrature_permuted
         return "SF{}:[{}]->[{}]".format(self.stage,
                                         str(self.interface),
-                                        ", ".join(str(m) for m in self.permuted_matrix_sequence))
+                                        ", ".join(str(m) for m in self.matrix_sequence_quadrature_permuted))
 
     mapper_method = "map_sumfact_kernel"
 
@@ -358,9 +358,9 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
     @property
     def function_name(self):
         """ The name of the function that implements this kernel """
-        # Use permuted_matrix_sequence here since this is more consistent with
+        # Use matrix_sequence_quadrature_permuted here since this is more consistent with
         # the vectorized case
-        name = "sfimpl_{}{}".format("_".join(str(m) for m in self.permuted_matrix_sequence),
+        name = "sfimpl_{}{}".format("_".join(str(m) for m in self.matrix_sequence_quadrature_permuted),
                                     self.interface.function_name_suffix)
 
         # On unstructured we need different permutation of the input to realize
@@ -379,7 +379,7 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
         # TODO: For now we do not vectorize SumfactKernels with different
         # quadrature_permutation. This should be handled like upper/lower
         # vectorization
-        return self.quadrature_permutation + tuple(m.basis_size for m in self.permuted_matrix_sequence) + (self.stage, self.buffer, self.interface.within_inames)
+        return self.quadrature_permutation + tuple(m.basis_size for m in self.matrix_sequence_quadrature_permuted) + (self.stage, self.buffer, self.interface.within_inames)
 
     @property
     def cache_key(self):
@@ -444,7 +444,7 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
         return 0
 
     @property
-    def permuted_matrix_sequence(self):
+    def matrix_sequence_quadrature_permuted(self):
         """Matrix sequence ordered according to desired quadrature point ordered
 
         Except for face integrals on 3D unstructured grids this will just be
@@ -453,8 +453,8 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
         and neighbor.
         """
         perm = self.quadrature_permutation
-        permuted_matrix_sequence = permute_forward(self.matrix_sequence, perm)
-        return permuted_matrix_sequence
+        matrix_sequence_quadrature_permuted = permute_forward(self.matrix_sequence, perm)
+        return matrix_sequence_quadrature_permuted
 
     @property
     def quadrature_shape(self):
@@ -462,7 +462,7 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
 
         Takes into account the lower dimensionality of faces and vectorization.
         """
-        return tuple(mat.quadrature_size for mat in self.permuted_matrix_sequence)
+        return tuple(mat.quadrature_size for mat in self.matrix_sequence_quadrature_permuted)
 
     def quadrature_index(self, sf, visitor):
         if visitor.current_info[1] is None:
@@ -475,14 +475,14 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
                 element = element.extract_component(element_index)[1]
 
         quad_inames = quadrature_inames(element)
-        if len(self.permuted_matrix_sequence) == local_dimension():
+        if len(self.matrix_sequence_quadrature_permuted) == local_dimension():
             return tuple(prim.Variable(i) for i in quad_inames)
 
         # Traverse all the quadrature inames and map them to their correct direction
         index = []
         i = 0
         for d in range(world_dimension()):
-            if self.permuted_matrix_sequence[d].face is None:
+            if self.matrix_sequence_quadrature_permuted[d].face is None:
                 index.append(prim.Variable(quad_inames[i]))
                 i = i + 1
             else:
@@ -505,7 +505,7 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
 
         Takes into account vectorization.
         """
-        return tuple(mat.basis_size for mat in self.permuted_matrix_sequence)
+        return tuple(mat.basis_size for mat in self.matrix_sequence_quadrature_permuted)
 
     @property
     def dof_dimtags(self):
@@ -611,10 +611,10 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable)
 
         # Assert properties of the matrix sequence of the underlying kernels
         for i in range(kernels[0].length):
-            assert len(set(tuple(k.permuted_matrix_sequence[i].rows for k in kernels))) == 1
-            assert len(set(tuple(k.permuted_matrix_sequence[i].cols for k in kernels))) == 1
-            assert len(set(tuple(k.permuted_matrix_sequence[i].direction for k in kernels))) == 1
-            assert len(set(tuple(k.permuted_matrix_sequence[i].transpose for k in kernels))) == 1
+            assert len(set(tuple(k.matrix_sequence_quadrature_permuted[i].rows for k in kernels))) == 1
+            assert len(set(tuple(k.matrix_sequence_quadrature_permuted[i].cols for k in kernels))) == 1
+            assert len(set(tuple(k.matrix_sequence_quadrature_permuted[i].direction for k in kernels))) == 1
+            assert len(set(tuple(k.matrix_sequence_quadrature_permuted[i].transpose for k in kernels))) == 1
 
         # Join the instruction dependencies of all subkernels
         insn_dep = insn_dep.union(k.insn_dep for k in kernels)
@@ -674,13 +674,13 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable)
     #
     @property
     def matrix_sequence(self):
-        return tuple(BasisTabulationMatrixArray(tuple(k.permuted_matrix_sequence[i] for k in self.kernels),
+        return tuple(BasisTabulationMatrixArray(tuple(k.matrix_sequence_quadrature_permuted[i] for k in self.kernels),
                                                 width=self.vector_width,
                                                 )
                      for i in range(self.length))
 
     @property
-    def permuted_matrix_sequence(self):
+    def matrix_sequence_quadrature_permuted(self):
         return self.matrix_sequence
 
     @property
@@ -752,7 +752,7 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable)
     def horizontal_index(self, sf):
         for i, k in enumerate(self.kernels):
             if sf.inout_key == k.inout_key:
-                if tuple(mat.derivative for mat in sf.permuted_matrix_sequence) == tuple(mat.derivative for mat in k.permuted_matrix_sequence):
+                if tuple(mat.derivative for mat in sf.matrix_sequence_quadrature_permuted) == tuple(mat.derivative for mat in k.matrix_sequence_quadrature_permuted):
                     return i
 
         return 0
@@ -807,7 +807,7 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable)
 
         quad_inames = quadrature_inames(element)
         sliced = 0
-        if len(sf.permuted_matrix_sequence) == local_dimension():
+        if len(sf.matrix_sequence_quadrature_permuted) == local_dimension():
             for d in range(local_dimension()):
                 if self.matrix_sequence[d].slice_size:
                     sliced = prim.Variable(quad_inames[d])
diff --git a/python/dune/codegen/sumfact/vectorization.py b/python/dune/codegen/sumfact/vectorization.py
index d2678c52..53c44257 100644
--- a/python/dune/codegen/sumfact/vectorization.py
+++ b/python/dune/codegen/sumfact/vectorization.py
@@ -313,7 +313,7 @@ def level1_optimal_vectorization_strategy(sumfacts, width):
         sf = next(iter(sumfacts))
         depth = 1
         while depth <= width:
-            i = 0 if sf.permuted_matrix_sequence[0].face is None else 1
+            i = 0 if sf.matrix_sequence_quadrature_permuted[0].face is None else 1
             quad = list(quadrature_points_per_direction())
             quad[i] = round_to_multiple(quad[i], depth)
             quad_points.append(tuple(quad))
@@ -449,14 +449,14 @@ def get_vectorization_dict(sumfacts, vertical, horizontal, qp):
             continue
 
         # Determine the slicing direction
-        slice_direction = 0 if sf.permuted_matrix_sequence[0].face is None else 1
+        slice_direction = 0 if sf.matrix_sequence_quadrature_permuted[0].face is None else 1
         if qp[slice_direction] % vertical != 0:
             return None
 
         # Split the basis tabulation matrices
-        oldtab = sf.permuted_matrix_sequence[slice_direction]
+        oldtab = sf.matrix_sequence_quadrature_permuted[slice_direction]
         for i in range(vertical):
-            seq = list(sf.permuted_matrix_sequence)
+            seq = list(sf.matrix_sequence_quadrature_permuted)
             seq[slice_direction] = oldtab.copy(slice_size=vertical,
                                                slice_index=i)
             kernels.append(sf.copy(matrix_sequence=tuple(seq)))
-- 
GitLab