Start adding broadcasting to compiler#1726
Start adding broadcasting to compiler#1726ericlippert wants to merge 1 commit intofacebookresearch:mainfrom
Conversation
3331459 to
0c14b8d
Compare
Summary: This diff continues the work to add broadcasting semantics to the compiler and BMG. In this diff, I fix a bug in the type analyzer which was incorrectly detecting if two matrix types were broadcastable; it was only working if one of the types was a matrix size strictly bigger than the other, but broadcasting allows an n x 1 matrix to be broadcast with a 1 x m matrix regardless of the size of n and m. I've added a test case that demonstrates that the existing vectorization algorithm gets as far as generating an incorrect BMG graph; the graph needs to have broadcast nodes added to it. We'll fix that up in some upcoming diffs. Reviewed By: AishwaryaSivaraman Differential Revision: D40042673 fbshipit-source-id: 930002975993cc207382d714ba1a5c0199102409
0c14b8d to
723bb6f
Compare
|
This pull request was exported from Phabricator. Differential Revision: D40042673 |
|
Hi @ericlippert! Thank you for your pull request. We require contributors to sign our Contributor License Agreement, and yours needs attention. You currently have a record in our system, but the CLA is no longer valid, and will need to be resubmitted. ProcessIn order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA. Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with If you have received this in error or have any questions, please contact us at cla@meta.com. Thanks! |
Summary:
This diff continues the work to add broadcasting semantics to the compiler and BMG. In this diff, I fix a bug in the type analyzer which was incorrectly detecting if two matrix types were broadcastable; it was only working if one of the types was a matrix size strictly bigger than the other, but broadcasting allows an n x 1 matrix to be broadcast with a 1 x m matrix regardless of the size of n and m.
I've added a test case that demonstrates that the existing vectorization algorithm gets as far as generating an incorrect BMG graph; the graph needs to have broadcast nodes added to it. We'll fix that up in some upcoming diffs.
Reviewed By: AishwaryaSivaraman
Differential Revision: D40042673