Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ad088a5
import constrain_loop_nesting
jdsteve2 May 9, 2021
3a656c0
add loop_nest_constraints attribute to kernel
jdsteve2 May 9, 2021
c665327
copy in classes to contain loop nest constraints from branch loop-nes…
jdsteve2 May 9, 2021
6f080d2
copy in functions for initial loop nest constraint creation from bran…
jdsteve2 May 9, 2021
33dd179
copy in functions for checking loop nest constraints from branch loop…
jdsteve2 May 9, 2021
63015f6
add tests for loop nest constraint creation from branch loop-nest-con…
jdsteve2 May 9, 2021
90b84c3
fix typo in comment
jdsteve2 May 9, 2021
29c2617
add for_each_kernel decorator to constrain_loop_nesting
jdsteve2 Jul 20, 2021
9dbba39
fix bugs due to callables update
jdsteve2 Jul 20, 2021
51ede85
change 'assert False' to 'raise AssertionError()'
jdsteve2 Jul 20, 2021
f04ca4b
copy in funcs from loop-nest-constraints-v2 branch: check_all_must_no…
jdsteve2 Jul 21, 2021
057f69b
enforce new loop nest constraints during linearization (copied in fro…
jdsteve2 Jul 21, 2021
9725335
test that nest constraints are enforced during linearization
jdsteve2 Jul 21, 2021
9a07784
raise AssertionError instead of asserting False
jdsteve2 Jul 21, 2021
ad8940b
clearer comments/code for handling nest constraints during linearization
jdsteve2 Jul 23, 2021
42a109a
remove unnecessary all_inames arg from nest constraint checking funct…
jdsteve2 Jul 23, 2021
d6bc3c0
eliminate mostly redundant function check_all_must_not_nests
jdsteve2 Jul 23, 2021
f7f8f2a
more code cleanup
jdsteve2 Jul 23, 2021
cd76f66
add a test that tries adding a must_not_nest constraint that conflict…
jdsteve2 Jul 23, 2021
67ca67c
Merge branch 'main' into new-loop-nest-constraints
jdsteve2 Jul 23, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions loopy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@
from loopy.version import VERSION, MOST_RECENT_LANGUAGE_VERSION

from loopy.transform.iname import (
set_loop_priority, prioritize_loops, untag_inames,
set_loop_priority, prioritize_loops, constrain_loop_nesting,
untag_inames,
split_iname, chunk_iname, join_inames, tag_inames, duplicate_inames,
rename_iname, remove_unused_inames,
split_reduction_inward, split_reduction_outward,
Expand Down Expand Up @@ -194,7 +195,8 @@

# {{{ transforms

"set_loop_priority", "prioritize_loops", "untag_inames",
"set_loop_priority", "prioritize_loops", "constrain_loop_nesting",
"untag_inames",
"split_iname", "chunk_iname", "join_inames", "tag_inames",
"duplicate_inames",
"rename_iname", "remove_unused_inames",
Expand Down
3 changes: 3 additions & 0 deletions loopy/kernel/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,7 @@ def __init__(self, domains, instructions, args=None,

iname_slab_increments=None,
loop_priority=frozenset(),
loop_nest_constraints=None,
silenced_warnings=None,

applied_iname_rewrites=None,
Expand Down Expand Up @@ -380,6 +381,7 @@ def __init__(self, domains, instructions, args=None,
assumptions=assumptions,
iname_slab_increments=iname_slab_increments,
loop_priority=loop_priority,
loop_nest_constraints=loop_nest_constraints,
silenced_warnings=silenced_warnings,
temporary_variables=temporary_variables,
local_sizes=local_sizes,
Expand Down Expand Up @@ -1543,6 +1545,7 @@ def __setstate__(self, state):
"substitutions",
"iname_slab_increments",
"loop_priority",
"loop_nest_constraints",
"silenced_warnings",
"options",
"state",
Expand Down
Loading