diff --git a/astnodes.py b/astnodes.py index 6a7026c6a49365a06c0509f486ba9b0c1e2a4a00..3548afae48dda29616eea921a8a995de1b256c82 100644 --- a/astnodes.py +++ b/astnodes.py @@ -198,7 +198,7 @@ class KernelFunction(Node): This function is expensive, cache the result where possible! """ - field_map = {f.name: f for f in self.fields_accessed} + field_map = {symbol_name_to_variable_name(f.name): f for f in self.fields_accessed} def get_fields(symbol): if hasattr(symbol, 'field_name'): diff --git a/boundaries/boundaryhandling.py b/boundaries/boundaryhandling.py index d60209d11beb725ba3e05c15e775c2b441d05f19..a440fd2114147e9eda063d2fb68ad895e1eb7f1d 100644 --- a/boundaries/boundaryhandling.py +++ b/boundaries/boundaryhandling.py @@ -223,7 +223,7 @@ class BoundaryHandling: arguments['indexField'] = idx_arr data_used_in_kernel = (p.fields[0].name for p in self._boundary_object_to_boundary_info[b_obj].kernel.parameters - if isinstance(p.symbol, FieldPointerSymbol) and p.fields[0].name not in arguments) + if isinstance(p.symbol, FieldPointerSymbol) and p.field_name not in arguments) arguments.update({name: b[name] for name in data_used_in_kernel if name not in arguments}) kernel = self._boundary_object_to_boundary_info[b_obj].kernel diff --git a/cpu/cpujit.py b/cpu/cpujit.py index cfcd4fef3fd95583c0597debd194f7d861aa20b8..807004825a1fdbdb317b2d534c2320187a32e03e 100644 --- a/cpu/cpujit.py +++ b/cpu/cpujit.py @@ -56,7 +56,6 @@ import subprocess from appdirs import user_config_dir, user_cache_dir from collections import OrderedDict -from pystencils.kernelparameters import FieldPointerSymbol, FieldStrideSymbol, FieldShapeSymbol from pystencils.utils import recursive_dict_update from sysconfig import get_paths from pystencils import FieldType diff --git a/cpu/kernelcreation.py b/cpu/kernelcreation.py index d3db5d9787a3e3e0b89cf952147cc99c9a0f87c0..136cd7f87b6dab6185271a82d51a144ace513d73 100644 --- a/cpu/kernelcreation.py +++ b/cpu/kernelcreation.py @@ -3,7 +3,7 @@ from functools import partial from pystencils.astnodes import SympyAssignment, Block, LoopOverCoordinate, KernelFunction from pystencils.transformations import resolve_buffer_accesses, resolve_field_accesses, make_loop_over_domain, \ add_types, get_optimal_loop_ordering, parse_base_pointer_info, move_constants_before_loop, \ - split_inner_loop, substitute_array_accesses_with_constants, get_base_buffer_index + split_inner_loop, get_base_buffer_index from pystencils.data_types import TypedSymbol, BasicType, StructType, create_type from pystencils.field import Field, FieldType import pystencils.astnodes as ast diff --git a/field.py b/field.py index 088c2f9fc43d7923406910ad6fcdca7f7e569338..8cc5ee0f628f2ff51eba9f236f787d70a1a2dcd7 100644 --- a/field.py +++ b/field.py @@ -5,7 +5,7 @@ import numpy as np import sympy as sp from sympy.core.cache import cacheit from pystencils.alignedarray import aligned_empty -from pystencils.data_types import create_type, create_composite_type_from_string, StructType +from pystencils.data_types import create_type, StructType from pystencils.kernelparameters import FieldShapeSymbol, FieldStrideSymbol from pystencils.stencils import offset_to_direction_string, direction_string_to_offset from pystencils.sympyextensions import is_integer_sequence diff --git a/gpucuda/cudajit.py b/gpucuda/cudajit.py index f5077defb96fe626678c0b674ed9e1281db12149..ef10184b56584bebed5a0292042c9c0b3ce988c5 100644 --- a/gpucuda/cudajit.py +++ b/gpucuda/cudajit.py @@ -1,8 +1,8 @@ import numpy as np from pystencils.backends.cbackend import generate_c -from pystencils.kernelparameters import FieldPointerSymbol, FieldStrideSymbol, FieldShapeSymbol +from pystencils.kernelparameters import FieldPointerSymbol from pystencils.sympyextensions import symbol_name_to_variable_name -from pystencils.data_types import StructType, get_base_type +from pystencils.data_types import StructType from pystencils.field import FieldType diff --git a/gpucuda/kernelcreation.py b/gpucuda/kernelcreation.py index 3fa8efddf6a6cd31df48f00539db7706f4baff83..0e5d2939bb9761f71b34b5362fb695413da675ac 100644 --- a/gpucuda/kernelcreation.py +++ b/gpucuda/kernelcreation.py @@ -2,8 +2,7 @@ from functools import partial from pystencils.gpucuda.indexing import BlockIndexing from pystencils.transformations import resolve_field_accesses, add_types, parse_base_pointer_info, \ - get_common_shape, substitute_array_accesses_with_constants, resolve_buffer_accesses, unify_shape_symbols, \ - get_base_buffer_index + get_common_shape, resolve_buffer_accesses, unify_shape_symbols, get_base_buffer_index from pystencils.astnodes import Block, KernelFunction, SympyAssignment, LoopOverCoordinate from pystencils.data_types import TypedSymbol, BasicType, StructType from pystencils import Field, FieldType diff --git a/llvm/llvmjit.py b/llvm/llvmjit.py index 9312693d9a2ea2a288732f5b6a82285b7b8c1499..e33d97d99149ca89dacaf3e860943a0b4136c76a 100644 --- a/llvm/llvmjit.py +++ b/llvm/llvmjit.py @@ -3,7 +3,7 @@ import llvmlite.binding as llvm import numpy as np import ctypes as ct from pystencils.data_types import create_composite_type_from_string -from ..data_types import to_ctypes, ctypes_from_llvm, StructType, get_base_type +from ..data_types import to_ctypes, ctypes_from_llvm, StructType from .llvm import generate_llvm from pystencils.sympyextensions import symbol_name_to_variable_name from pystencils.field import FieldType diff --git a/sympyextensions.py b/sympyextensions.py index df236f5c8ea701b94a1a85c424b92cfe36c67725..400f55d668d5a0e4a1a0898c51208f3caac82865 100644 --- a/sympyextensions.py +++ b/sympyextensions.py @@ -553,4 +553,4 @@ class SymbolCreator: def symbol_name_to_variable_name(symbol_name): """Replaces characters which are allowed in sympy symbol names but not in C/C++ variable names""" - return symbol_name.replace("^", "_") \ No newline at end of file + return symbol_name.replace("^", "_")