-
Notifications
You must be signed in to change notification settings - Fork 481
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
[SYSTEMDS-3333] Improve matrix mult chain opt #1948
[SYSTEMDS-3333] Improve matrix mult chain opt #1948
Conversation
Thanks for the PR. It's a good start @gogokotsev00.
|
Thanks @gogokotsev00 for adding the tests. |
@gogokotsev00, please do not merge branches. Instead, rebase your changes on the latest main branch. |
8dce318
to
ad8c793
Compare
6f5131f
to
a382cf4
Compare
…ntroduce a flag for enabling new methods
…ues as input in matrix multiplication
Created new templates for the test and edited the test class Co-Authored-By: krutarth <[email protected]>
…ntroduce a flag for enabling new methods
…ues as input in matrix multiplication
Created new templates for the test and edited the test class Co-Authored-By: krutarth <[email protected]>
a382cf4
to
16c89ba
Compare
We were not able to find rewrites which impede an optimal matrix multiplication chain. We have tested with the following examples:
|
Hi, this PR may not make it to 3.2.0 to avoid last minute internal behavior changes, |
LGTM - thanks for the patch @gogokotsev00 and team. During the merge, I moved the rewrite to a separate experimental rewrite which is not yet fully integrated (because I think it's not ready for that). The reason why you did not see your rewrite being applied as expected is that the transposes for folded into the generation of constant matrices (with flipped dimensions). By adding our special program block cut |
Now our chain of Hops gets rewritten when we have t(A %% B) into t(B) %% t(A), which contributes to a larger optimization space.