diff --git a/loopy/codegen/result.py b/loopy/codegen/result.py index 4318ad71c1b16deeaac98f8408d5ca82f2de1714..00f19d99afa7119f35b188492646669f71b850d1 100644 --- a/loopy/codegen/result.py +++ b/loopy/codegen/result.py @@ -133,7 +133,7 @@ class CodeGenerationResult(ImmutableRecord): preamble_codes = process_preambles( getattr(self, "host_preambles", []) + - getattr(self, "device_preambles", []) + list(getattr(self, "device_preambles", [])) ) return ( diff --git a/loopy/kernel/tools.py b/loopy/kernel/tools.py index c866c9c6a652a3d17e7dbbb15812e5f6dd3c365b..8e238badb8cb9dbd2df270c56c28e6b923732f53 100644 --- a/loopy/kernel/tools.py +++ b/loopy/kernel/tools.py @@ -1906,8 +1906,8 @@ def get_direct_callee_kernels(kernel, program_callables_info, insn_ids=None,): return None - return frozenset([_get_callee_kernel_if_insn_has_callable_kernel(id) - for id in insn_ids]) - frozenset([None]) + return frozenset([_get_callee_kernel_if_insn_has_callable_kernel(insn_id) + for insn_id in insn_ids]) - frozenset([None]) # }}} diff --git a/loopy/target/cuda.py b/loopy/target/cuda.py index fe576cdcad58caa2b077f78923073732c305de2a..89cbfd034e6dfdddebd8811f3e2620c90cc285ad 100644 --- a/loopy/target/cuda.py +++ b/loopy/target/cuda.py @@ -302,7 +302,8 @@ class CUDACASTBuilder(CASTBuilder): _, local_grid_size = \ codegen_state.kernel.get_grid_sizes_for_insn_ids_as_exprs( get_insn_ids_for_block_at( - codegen_state.kernel.schedule, schedule_index)) + codegen_state.kernel.schedule, schedule_index), + codegen_state.program_callables_info) from loopy.symbolic import get_dependencies if not get_dependencies(local_grid_size): diff --git a/loopy/target/python.py b/loopy/target/python.py index b7a83d25b720663b4c34190be3b9e3afea6b16bb..cd6e611673754034238fbc6e8775c43eb3c4c2f4 100644 --- a/loopy/target/python.py +++ b/loopy/target/python.py @@ -85,14 +85,16 @@ class ExpressionToPythonMapper(StringifyMapper): def map_call(self, expr, enclosing_prec): from pymbolic.mapper.stringifier import PREC_NONE - identifier_name = self.kernel.scoped_functions[expr.function.name].name + identifier_name = self.codegen_state.program_callables_info[ + expr.function.name].name if identifier_name in ["indexof", "indexof_vec"]: raise LoopyError( "indexof, indexof_vec not yet supported in Python") from loopy.kernel.function_interface import ManglerCallable - in_knl_callable = self.kernel.scoped_functions[expr.function.name] + in_knl_callable = self.codegen_state.program_callables_info[ + expr.function.name] if isinstance(in_knl_callable, ManglerCallable): from loopy.codegen import SeenFunction mangle_result = in_knl_callable.mangle_result(self.kernel)