-
Notifications
You must be signed in to change notification settings - Fork 25.6k
[TensorExpr] Extend arithmetic simplifier to work with multi variable expressions (Attempt 2) #35415
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
Conversation
💊 CircleCI build failures summary and remediationsAs of commit e8e2497 (more details on the Dr. CI page): ✅ None of the build failures appear to be your fault 💚
🚧 1 upstream failure:These were probably caused by upstream breakages:
This comment was automatically generated by Dr. CI (expand for details).Follow this link to opt-out of these comments for your Pull Requests.Please report bugs/suggestions on the GitHub issue tracker. This comment has been revised 53 times. |
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.
Approving since it's a fix to an already approved PR.
4507f75
to
55c659e
Compare
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.
@nickgg has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
22c6a17
to
ed92b3e
Compare
OK have rebased back on the various commits, this is the one! |
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.
Approving as already reviewed. Please fix a couple of places (see inline) before landing. Also, I suggest splitting big PRs into a stack of smaller PRs in future. Thanks!
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.
It is generally a bad idea to sort on hash, as we've already discovered - it can make tests brittle and can in future lead to non-deterministic behavior (even if it's not like that now). I suggest following up on that - a better way would be to normalize/canonicalize the expression - i.e. define a strict order how sub-expressions should be placed in the parent expression.
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 hash defines an ordering though, doesn't it. The issues we've been having in this diff is that the hash wasn't consistent across platforms.
I'm a bit resistant to some kind of adhoc ordering because in the case of compound opaque objects I think it can get complicated. Am open to suggestions on this though.
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.
You're not wrong though, I found a bug in the hash and it changes the order of a bunch of things.
e5596ef
to
3a9dc9b
Compare
3a9dc9b
to
e8e2497
Compare
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.
@nickgg has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
#35127 was landed and reverted because I missed a test fail (oops). I have found and fixed the issue, which was due to zero terms being introduced after the point that filtered them out (usually required NAN/INF, e.g. x / INF => 0).
See #35127 for more info.