From 1980520b3533ef6f081294fa8cb41625a92a065f Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Mon, 25 Jan 2016 23:09:06 -0600 Subject: [PATCH] Prevent infinite recursion in automatic axis assignment --- loopy/kernel/tools.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/loopy/kernel/tools.py b/loopy/kernel/tools.py index 67c703136..46b301b47 100644 --- a/loopy/kernel/tools.py +++ b/loopy/kernel/tools.py @@ -773,9 +773,12 @@ def assign_automatic_axes(kernel, axis=0, local_size=None): desired_length = kernel.get_constant_iname_length(iname) except isl.Error: # Likely unbounded, automatic assignment is not - # going to happen for this iname - return assign_automatic_axes(kernel, - axis=recursion_axis, local_size=local_size) + # going to happen for this iname. + new_iname_to_tag = kernel.iname_to_tag.copy() + new_iname_to_tag[iname] = None + return assign_automatic_axes( + kernel.copy(iname_to_tag=new_iname_to_tag), + axis=recursion_axis) if axis is None: # {{{ find a suitable axis -- GitLab