From a0dbb0b1ec00612c56771f0617fbe37f7934e68a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20He=C3=9F?= <rene.hess@iwr.uni-heidelberg.de> Date: Thu, 13 Sep 2018 13:42:15 +0200 Subject: [PATCH] Bugfix: VectorizedSumfactKernel needs quadrature_permutation --- python/dune/perftool/sumfact/symbolic.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/python/dune/perftool/sumfact/symbolic.py b/python/dune/perftool/sumfact/symbolic.py index c2117693..424b8714 100644 --- a/python/dune/perftool/sumfact/symbolic.py +++ b/python/dune/perftool/sumfact/symbolic.py @@ -575,6 +575,7 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable) vertical_width=1, buffer=None, insn_dep=frozenset(), + quadrature_permutation=None, ): # Assert the input data structure assert isinstance(kernels, tuple) @@ -596,6 +597,11 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable) # Join the instruction dependencies of all subkernels insn_dep = insn_dep.union(k.insn_dep for k in kernels) + # Get order of quadrature points + quadrature_permutation = kernels[0].quadrature_permutation + for k in kernels: + assert k.quadrature_permutation == quadrature_permutation + # We currently assume that all subkernels are consecutive, 0-based within the vector assert None not in kernels @@ -605,6 +611,7 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable) buffer=buffer, insn_dep=insn_dep, vertical_width=vertical_width, + quadrature_permutation=quadrature_permutation, ) prim.Variable.__init__(self, "VecSUMFAC") -- GitLab