diff --git a/pystencils/kerncraft_coupling/kerncraft_interface.py b/pystencils/kerncraft_coupling/kerncraft_interface.py index 2d0859f7e78b113077189960cab0404b373a1cda..c0dc5888f579955bbff5092b7c0fd73b71c05176 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 072bb19ae6fe0ba7f719c0ab636e1a9ffd3d7eed..ce23f4541b46444f55b4d87ee89590bc519586a6 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()):