-
Notifications
You must be signed in to change notification settings - Fork 25
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
Add EqualityMapper #74
base: main
Are you sure you want to change the base?
Conversation
4c319e4
to
a9773e5
Compare
a9773e5
to
1f1a550
Compare
1f1a550
to
f3f24f2
Compare
141ffcb
to
5d93805
Compare
e898e5d
to
d3fef8e
Compare
ac5ab5e
to
36b5e68
Compare
@kaushikcfd Is this worth pursuing given that compile times are suffering because of expression traversal complexity in pymbolic? |
For what it's worth, the |
I think this is useful. IIUC, this PR quite significantly brings down the complexity of the expression comparison. If the overheads of this approach (creating a new mapper for every comparison) are under-control, I would love to get rid of hacks such as: https://github.com/kaushikcfd/pymbolic/blob/a697d47cd53e9902abc49f98d67921b466c992c2/pymbolic/mapper/__init__.py#L213. |
However, I wonder how the loopy CI failures could be fixed? By creating a derived version of every pymbolic expression type in loopy so that they can use loopy-specific EqualityMapper? |
It should work with the modified branches. I imagine it needs some work in |
Oops had missed the branch in the description. I think those will work fine. Thanks! |
d987004
to
c07fdf4
Compare
Whoa. I had missed that during review. That is pretty gross. |
c07fdf4
to
9f8c582
Compare
34a80ca
to
ee18b8f
Compare
I need to do some measuring. |
2038873
to
6073162
Compare
24ea387
to
df57c91
Compare
df57c91
to
aacf0c6
Compare
815f4c5
to
c54c739
Compare
c54c739
to
46c2392
Compare
Added an
EqualityMapper
similar to the one in inducer/pytato#166.This seems a bit slower than the current version (benchmarked against inducer/pytential#121):
it went from 5.3s-ish to 6.6s-ish.
fail-fast
from downstream CIFixes #73.