diff --git a/loopy/kernel/array.py b/loopy/kernel/array.py index ee14042d11263b6711b022fc546e7d1979f0da6b..233d1a0f7c6ef589c57ae57a5883da5ee6c0b4ad 100644 --- a/loopy/kernel/array.py +++ b/loopy/kernel/array.py @@ -342,6 +342,14 @@ def parse_array_dim_tags(dim_tags, use_increasing_target_axes=False): for nl in ta_nesting_levels), target_axis)) + ta_nesting_level_increment = -min(ta_nesting_levels) + for i in range(len(result)): + if (isinstance(result[i], _StrideArrayDimTagBase) + and result[i].target_axis == target_axis): + result[i] = result[i].copy( + layout_nesting_level=result[i].layout_nesting_level + + ta_nesting_level_increment) + # }}} return result