From 40af81fe8cba756ffd1a2667c0e89e5f541e0db5 Mon Sep 17 00:00:00 2001 From: Julian Hammer <julian.hammer@fau.de> Date: Sat, 19 Dec 2020 09:01:16 +0100 Subject: [PATCH] Fixes for Vector Testcase to Work --- pystencils/kerncraft_coupling/kerncraft_interface.py | 3 ++- pystencils/sympyextensions.py | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pystencils/kerncraft_coupling/kerncraft_interface.py b/pystencils/kerncraft_coupling/kerncraft_interface.py index 2d0859f7e..c0dc5888f 100644 --- a/pystencils/kerncraft_coupling/kerncraft_interface.py +++ b/pystencils/kerncraft_coupling/kerncraft_interface.py @@ -342,7 +342,7 @@ class PyStencilsKerncraftKernel(KernelCode): class KerncraftParameters(DotDict): def __init__(self, **kwargs): - super(KerncraftParameters, self).__init__(**kwargs) + super(KerncraftParameters, self).__init__() self['asm_block'] = 'auto' self['asm_increment'] = 0 self['cores'] = 1 @@ -353,6 +353,7 @@ class KerncraftParameters(DotDict): self['unit'] = 'cy/CL' self['ignore_warnings'] = True self['incore_model'] = 'OSACA' + self.update(**kwargs) # ------------------------------------------- Helper functions --------------------------------------------------------- diff --git a/pystencils/sympyextensions.py b/pystencils/sympyextensions.py index 072bb19ae..ce23f4541 100644 --- a/pystencils/sympyextensions.py +++ b/pystencils/sympyextensions.py @@ -10,7 +10,7 @@ from sympy.functions import Abs from sympy.core.numbers import Zero from pystencils.assignment import Assignment -from pystencils.data_types import cast_func, get_type_of_expression, PointerType +from pystencils.data_types import cast_func, get_type_of_expression, PointerType, VectorType from pystencils.kernelparameters import FieldPointerSymbol T = TypeVar('T') @@ -465,6 +465,8 @@ def count_operations(term: Union[sp.Expr, List[sp.Expr]], base_type = get_type_of_expression(e) except ValueError: return False + if isinstance(base_type, VectorType): + return False if isinstance(base_type, PointerType): return only_type == 'int' if only_type == 'int' and (base_type.is_int() or base_type.is_uint()): -- GitLab