From feddb5a8ac48a7bcf382d777a840fe14b0354933 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Tue, 12 Feb 2019 09:50:07 +0100
Subject: [PATCH] [bugfix] Make sure that quadrature point numbers are not used
 in parallel key

The permutation is already in. Using the numbers requires to have the
correct global state whenever the key is evaluated, which we cannot
guarantee.
---
 python/dune/codegen/sumfact/symbolic.py      | 2 +-
 python/dune/codegen/sumfact/vectorization.py | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/python/dune/codegen/sumfact/symbolic.py b/python/dune/codegen/sumfact/symbolic.py
index 2768ece8..3625f4dc 100644
--- a/python/dune/codegen/sumfact/symbolic.py
+++ b/python/dune/codegen/sumfact/symbolic.py
@@ -608,7 +608,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 tuple(m.quadrature_size for m in self.matrix_sequence_quadrature_permuted) + tuple(m.basis_size for m in self.matrix_sequence_quadrature_permuted) + (self.stage, self.buffer, self.interface.within_inames) + (self.interface.direct_is_possible, self.interface.quadrature_permutation)
+        return tuple(m.basis_size for m in self.matrix_sequence_quadrature_permuted) + (self.stage, self.buffer, self.interface.within_inames) + (self.interface.direct_is_possible, self.interface.quadrature_permutation)
 
     @property
     def cache_key(self):
diff --git a/python/dune/codegen/sumfact/vectorization.py b/python/dune/codegen/sumfact/vectorization.py
index 5788cbe8..e753652b 100644
--- a/python/dune/codegen/sumfact/vectorization.py
+++ b/python/dune/codegen/sumfact/vectorization.py
@@ -367,8 +367,6 @@ def level1_optimal_vectorization_strategy(sumfacts, width):
 
 
 def level2_optimal_vectorization_strategy(sumfacts, width, qp):
-    set_quadrature_points(qp)
-
     # Find the sets of simultaneously realizable kernels
     keys = frozenset(sf.parallel_key for sf in sumfacts)
 
-- 
GitLab