From c7eabe27b08be5db38134cff24fdcc2a9fed83e2 Mon Sep 17 00:00:00 2001
From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de>
Date: Mon, 19 Mar 2018 15:04:58 +0100
Subject: [PATCH] Add correct cache key implementation for horizontal
 vectorization

---
 python/dune/perftool/sumfact/symbolic.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/python/dune/perftool/sumfact/symbolic.py b/python/dune/perftool/sumfact/symbolic.py
index 6794296e..c54df787 100644
--- a/python/dune/perftool/sumfact/symbolic.py
+++ b/python/dune/perftool/sumfact/symbolic.py
@@ -281,7 +281,7 @@ class SumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable):
     @property
     def function_key(self):
         """ Kernels sharing this key may use the same kernel implementation function """
-        return self.matrix_sequence
+        return tuple(str(m) for m in self.matrix_sequence)
 
     @property
     def parallel_key(self):
@@ -544,6 +544,9 @@ class VectorizedSumfactKernel(SumfactKernelBase, ImmutableRecord, prim.Variable)
     # Some cache key definitions
     # Watch out for the documentation to see which key is used unter what circumstances
     #
+    @property
+    def function_key(self):
+        return tuple(str(m) for m in self.matrix_sequence)
 
     @property
     def cache_key(self):
-- 
GitLab