From 1bbf20b52e781ace1a87f516e54df85d3f530ff9 Mon Sep 17 00:00:00 2001 From: jdsteve2 Date: Sun, 22 Mar 2020 15:03:52 -0500 Subject: [PATCH] add pre-linearization check for unused inames --- loopy/check.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/loopy/check.py b/loopy/check.py index 0d2bbff7c..1acb2242e 100644 --- a/loopy/check.py +++ b/loopy/check.py @@ -184,6 +184,16 @@ def check_for_inactive_iname_access(kernel): ", ".join(expression_inames - kernel.insn_inames(insn)))) +def check_for_unused_inames(kernel): + # don't linearize if kernel has unused inames + from loopy.transform.iname import get_used_inames + unused_inames = kernel.all_inames() - get_used_inames(kernel) + if unused_inames: + raise LoopyError( + "cannot linearize a kernel with unused inames: %s" + % (unused_inames)) + + def _is_racing_iname_tag(tv, tag): from loopy.kernel.data import (AddressSpace, LocalIndexTagBase, GroupIndexTag, ConcurrentTag, auto) @@ -658,6 +668,7 @@ def pre_schedule_checks(kernel): check_loop_priority_inames_known(kernel) check_multiple_tags_allowed(kernel) check_for_inactive_iname_access(kernel) + check_for_unused_inames(kernel) check_for_write_races(kernel) check_for_data_dependent_parallel_bounds(kernel) check_bounds(kernel) -- GitLab