diff --git a/loopy/kernel/creation.py b/loopy/kernel/creation.py index cf07f969bdb8d7432815055004357f54f567dbf1..39a40728b58fc8cd592d5f8cc733b590785ebca5 100644 --- a/loopy/kernel/creation.py +++ b/loopy/kernel/creation.py @@ -426,6 +426,12 @@ def guess_kernel_args_if_requested(domains, instructions, temporary_variables, all_names.update(get_dependencies(submap(insn.assignee, insn.id))) all_names.update(get_dependencies(submap(insn.expression, insn.id))) + from loopy.kernel.data import ArrayBase + for arg in kernel_args: + if isinstance(arg, ArrayBase): + if isinstance(arg.shape, tuple): + all_names.update(get_dependencies(arg.shape)) + all_params = set() for dom in domains: all_params.update(dom.get_var_names(dim_type.param))