-
Notifications
You must be signed in to change notification settings - Fork 73
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
Implements a Loop Fusion Transformation #493
base: main
Are you sure you want to change the base?
Conversation
6cfd454
to
21502fd
Compare
b390c5a
to
47d7fa8
Compare
5bef1aa
to
214e6b9
Compare
d844444
to
776ee64
Compare
acbf9a8
to
921ea56
Compare
a8dfaf0
to
07194cc
Compare
07194cc
to
a9cd2eb
Compare
a9cd2eb
to
b79ad3a
Compare
4c89630
to
a6171e2
Compare
371632d
to
d46bfd1
Compare
f47d987
to
4e97120
Compare
candidates = frozenset(candidates) | ||
vng = kernel.get_var_name_generator() | ||
fused_chunks = {} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self: Add a sanity check here if candidates
are not a part of kernel
.
This could be rebased now that the prerequisite |
e1498ee
to
3d8e988
Compare
loopy/transform/loop_fusion.py
Outdated
raise LoopyError(f"'{iname}' and '{conflict_iname}' " | ||
"cannot fused be fused as they can be nested " | ||
"within one another.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this need to return an error or could we just remove iname
from candidates
in this case? (cc illinois-ceesd/mirgecom#1073)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idea was that this needs to be an error and the caller passes in the candidates appropriately so that the loop nests can be fused with each other.
3d8e988
to
02697b6
Compare
38a6e02
to
b57eb9d
Compare
try: | ||
import faulthandler | ||
except ImportError: | ||
pass | ||
else: | ||
faulthandler.enable() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why would the import fail?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
faulthandler
was added in 3.3. Loopy, at one point, targeted Python 2.x.
b57eb9d
to
a05f94d
Compare
Draft because: