[nvFuser] Improving bitwise ops support#77158
Conversation
🔗 Helpful links
❌ 2 New FailuresAs of commit c4b065b (more details on the Dr. CI page): Expand to see more
🕵️ 2 new failures recognized by patternsThe following CI failures do not appear to be due to upstream breakages
|
|
Looks like GitHub does not allow me to request review from @csarofeen either |
|
@pytorchbot retest this please |
jjsjann123
left a comment
There was a problem hiding this comment.
Stamping but feel free to update the tests with the cache configure if you want.
|
@pytorchbot merge this please |
|
Hey @zasdfgbnm. |
Summary: - Some renaming to better match PyTorch API: - `lshift` -> `bitwise_left_shift` - `rshift` -> `bitwise_right_shift` - `andOp` -> `bitwise_and` - `orOp` -> `bitwise_or` - `xorOp` -> `bitwise_xor` - `notOp` -> `bitwise_not` - Fix type inferences and type checking of these ops - Add `bitwise_*` to parser and python frontend - Improve test coverage Pull Request resolved: #77158 Approved by: https://github.com/kevinstephano, https://github.com/jjsjann123 Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/4eec865f5802f2c34eb34f9f89165f0aa4b5502f Reviewed By: seemethere Differential Revision: D36494215 Pulled By: seemethere fbshipit-source-id: 4985890b93046c53f597ccd3fce2bebcdf07b19c
- Some renaming to better match PyTorch API: - `lshift` -> `bitwise_left_shift` - `rshift` -> `bitwise_right_shift` - `andOp` -> `bitwise_and` - `orOp` -> `bitwise_or` - `xorOp` -> `bitwise_xor` - `notOp` -> `bitwise_not` - Fix type inferences and type checking of these ops - Add `bitwise_*` to parser and python frontend - Improve test coverage Pull Request resolved: pytorch#77158 Approved by: https://github.com/kevinstephano, https://github.com/jjsjann123
- Some renaming to better match PyTorch API: - `lshift` -> `bitwise_left_shift` - `rshift` -> `bitwise_right_shift` - `andOp` -> `bitwise_and` - `orOp` -> `bitwise_or` - `xorOp` -> `bitwise_xor` - `notOp` -> `bitwise_not` - Fix type inferences and type checking of these ops - Add `bitwise_*` to parser and python frontend - Improve test coverage Pull Request resolved: pytorch#77158 Approved by: https://github.com/kevinstephano, https://github.com/jjsjann123 Co-authored-by: Xiang Gao <qasdfgtyuiop@gmail.com>
Syncing nvfuser devel branch to upstream master. https://github.com/csarofeen/pytorch/ Code changes includes: - TransformPropagator refactor: switched to Dijkstra instead of exhaustive enumeration on all possible paths to reduce compilation time on transform propagation; - Indexing refactor: remove reference tensor creation in all tensor indexing logic (#1690) - (more) generic grouped grid reduction kernel; - Minor parser/fuser patches: 1. zero-dim tensor reduction support 3. no-op binary removal within fused graph 4. expand supported in fusion Squashed commits to WAR github API Commits that's actually in this PR from the devel branch: ``` a054b3e Refactor TransormPropagator to allow specifying a position and propagating to part of the DAG (#1775) d67e1cd Indexing refactor stage 1: remove reference tensor creation in all tensor indexing logic (#1690) 1b65299 Issue 1770 (#1774) 35b0427 Avoid compilation errors like below: (#1773) 452c773 Ignore reductions of zero-dim tensors per PyTorch conventions (#1771) 31d6c56 TransformPropagator refactor (#1769) 570c5a8 Merge pull request #1767 from csarofeen/upstream_merge_0621 9d6c3d8 merging upstream 61305cd 0ed815f New TransformPropagator algorithm (#1763) 6c19520 no-op binary removal (#1764) ec7fa41 Proper propagation of IterType (#1762) b263562 Fix dimensionality check (#1759) 2d6343f More generic grouped grid reduction kernel (#1740) 64e2b56 [nvfuser] prevent spamming warning message (#77777) (#1758) 0c43162 [nvFuser] Improving bitwise ops support (#77158) (#1757) b93a147 Parser expand (#1754) ``` RUN_TORCHBENCH: nvfuser Pull Request resolved: #80355 Approved by: https://github.com/davidberard98
Summary: Syncing nvfuser devel branch to upstream master. https://github.com/csarofeen/pytorch/ Code changes includes: - TransformPropagator refactor: switched to Dijkstra instead of exhaustive enumeration on all possible paths to reduce compilation time on transform propagation; - Indexing refactor: remove reference tensor creation in all tensor indexing logic (#1690) - (more) generic grouped grid reduction kernel; - Minor parser/fuser patches: 1. zero-dim tensor reduction support 3. no-op binary removal within fused graph 4. expand supported in fusion Squashed commits to WAR github API Commits that's actually in this PR from the devel branch: ``` a054b3e Refactor TransormPropagator to allow specifying a position and propagating to part of the DAG (#1775) d67e1cd Indexing refactor stage 1: remove reference tensor creation in all tensor indexing logic (#1690) 1b65299 Issue 1770 (#1774) 35b0427 Avoid compilation errors like below: (#1773) 452c773 Ignore reductions of zero-dim tensors per PyTorch conventions (#1771) 31d6c56 TransformPropagator refactor (#1769) 570c5a8 Merge pull request #1767 from csarofeen/upstream_merge_0621 9d6c3d8 merging upstream 61305cd 0ed815f New TransformPropagator algorithm (#1763) 6c19520 no-op binary removal (#1764) ec7fa41 Proper propagation of IterType (#1762) b263562 Fix dimensionality check (#1759) 2d6343f More generic grouped grid reduction kernel (#1740) 64e2b56 [nvfuser] prevent spamming warning message (#77777) (#1758) 0c43162 [nvFuser] Improving bitwise ops support (#77158) (#1757) b93a147 Parser expand (#1754) ``` RUN_TORCHBENCH: nvfuser Pull Request resolved: #80355 Reviewed By: qihqi Differential Revision: D37573400 Pulled By: davidberard98 fbshipit-source-id: 52ab68d89ec01ef61f69f5abeb18c9d3a312aa64
- Some renaming to better match PyTorch API: - `lshift` -> `bitwise_left_shift` - `rshift` -> `bitwise_right_shift` - `andOp` -> `bitwise_and` - `orOp` -> `bitwise_or` - `xorOp` -> `bitwise_xor` - `notOp` -> `bitwise_not` - Fix type inferences and type checking of these ops - Add `bitwise_*` to parser and python frontend - Improve test coverage Pull Request resolved: pytorch/pytorch#77158 Approved by: https://github.com/kevinstephano, https://github.com/jjsjann123
- Some renaming to better match PyTorch API: - `lshift` -> `bitwise_left_shift` - `rshift` -> `bitwise_right_shift` - `andOp` -> `bitwise_and` - `orOp` -> `bitwise_or` - `xorOp` -> `bitwise_xor` - `notOp` -> `bitwise_not` - Fix type inferences and type checking of these ops - Add `bitwise_*` to parser and python frontend - Improve test coverage Pull Request resolved: pytorch/pytorch#77158 Approved by: https://github.com/kevinstephano, https://github.com/jjsjann123
- Some renaming to better match PyTorch API: - `lshift` -> `bitwise_left_shift` - `rshift` -> `bitwise_right_shift` - `andOp` -> `bitwise_and` - `orOp` -> `bitwise_or` - `xorOp` -> `bitwise_xor` - `notOp` -> `bitwise_not` - Fix type inferences and type checking of these ops - Add `bitwise_*` to parser and python frontend - Improve test coverage Pull Request resolved: pytorch/pytorch#77158 Approved by: https://github.com/kevinstephano, https://github.com/jjsjann123 Co-authored-by: Xiang Gao <qasdfgtyuiop@gmail.com>
lshift->bitwise_left_shiftrshift->bitwise_right_shiftandOp->bitwise_andorOp->bitwise_orxorOp->bitwise_xornotOp->bitwise_notbitwise_*to parser and python frontend