Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Const Assignment Map Fusion: If two maps assign the same value for every element in a subset of the underlying array (and the subset is not dependent on the array in any way), then we can often fuse the two maps (not always possible) #1685

Draft
wants to merge 29 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
d0a25f2
First draft: only within-state fusion, and only if the ranges exactly
pratyai Oct 8, 2024
0c76246
add interstate fusion in there
pratyai Oct 8, 2024
1ef574b
Handle the free floating maps too, whenever possible.
pratyai Oct 8, 2024
5121081
Handle the fact that loop variable names can be different.
pratyai Oct 9, 2024
95ea47a
handle if the const assignments are behind an if branch that only
pratyai Oct 10, 2024
e9be112
small changes and documentation
pratyai Oct 10, 2024
4bc5d14
Don't use cache in tests.
pratyai Oct 10, 2024
c8206b1
Fix the "no dependency" pattern + a small refactor.
pratyai Oct 10, 2024
378673a
if the ranges are not exactly the same, still try to fuse by adding a
pratyai Oct 11, 2024
06cfcab
Fix the bound for grid strided loop.
pratyai Oct 11, 2024
39ee843
Set the schedule type to the inner GSLs to sequential.
pratyai Oct 11, 2024
d2e6f9f
Allow multiple nested maps, by starting to look at only the outermost…
pratyai Oct 11, 2024
58b291f
Rewrite the fusion pattern to allow fusing nested maps if possible.
pratyai Oct 11, 2024
b2f950b
move out the `@staticmethod`s out of the class definiton.
pratyai Oct 11, 2024
6ef22b7
Make the "grid-strided loop" a configurable option.
pratyai Oct 13, 2024
868266e
Fix the range fusion (`subsets.union()` only gives a bounding box with
pratyai Oct 13, 2024
8568c9f
Add checks to make sure the transformations are actually happening (or
pratyai Oct 14, 2024
113d2b3
If there was no path established between the parent and the strided
pratyai Oct 14, 2024
e60fe6d
Be slightly more explicit about when to use grid strided loop.
pratyai Oct 14, 2024
cb5398d
Handle the AST API differences between python versions.
pratyai Oct 15, 2024
a4e6071
Add two designated "negative tests".
pratyai Oct 28, 2024
4e8ca45
Privatize the helper functions.
pratyai Oct 29, 2024
23f2689
Cover even more negative test cases.
pratyai Oct 29, 2024
1167380
Construct a subgraph view to do the replacement correctly.
pratyai Oct 30, 2024
4d6b4c6
Replace all the convenient uses of `@dace.program` and `simply()` with
pratyai Oct 30, 2024
fb01a23
Fix the "taking a function's reference instead of calling it" problem.
pratyai Oct 30, 2024
78f0c2f
Flipped the map incorrectly when constructing the graph.
pratyai Oct 30, 2024
44e81ce
Replace `add_memlet_path()` calls.
pratyai Oct 30, 2024
e525ce4
Simplify and clarify the no-dependency-pattern check. Add more tests to
pratyai Oct 30, 2024
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
Loading