From c97ec72a6e6dfc287ef579cd4dc4f786b226afc1 Mon Sep 17 00:00:00 2001 From: Dominic Kempf <dominic.kempf@iwr.uni-heidelberg.de> Date: Fri, 24 Aug 2018 14:17:53 +0200 Subject: [PATCH] Fix short stringification --- python/dune/perftool/sumfact/vectorization.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/python/dune/perftool/sumfact/vectorization.py b/python/dune/perftool/sumfact/vectorization.py index 14b9ba4d..0b6c9494 100644 --- a/python/dune/perftool/sumfact/vectorization.py +++ b/python/dune/perftool/sumfact/vectorization.py @@ -169,11 +169,14 @@ def short_stringify_vectorization_strategy(strategy): stage1 = [] stage3 = [] + keys = set(sf.cache_key for sf in strategy.values()) for kernel in strategy.values(): - if kernel.stage == 1: - stage1.append(_short(kernel)) - if kernel.stage == 3: - stage3.append(_short(kernel)) + if kernel.cache_key in keys: + keys.discard(kernel.cache_key) + if kernel.stage == 1: + stage1.append(_short(kernel)) + if kernel.stage == 3: + stage3.append(_short(kernel)) return "m0={};S1:{};S3:{}".format(qp[0], "|".join(stage1), "|".join(stage3)) @@ -267,6 +270,7 @@ def level1_optimal_vectorization_strategy(sumfacts, width): cost = strategy_cost((qp, optimal_strategies[qp])) print("The target cost was: {}".format(get_form_option("vectorization_target"))) print("The achieved cost was: {}".format(cost)) + print("The optimal cost would be: {}".format(strategy_cost(level1_optimal_vectorization_strategy(sumfacts, width)))) set_form_option("vectorization_strategy", "target") print("The score in 'target' logic was: {}".format(strategy_cost((qp, optimal_strategies[qp])))) -- GitLab