EnzymeAD / EnzymeAD/Enzyme-JAX
Multi rotate cse
- Dominant language
- MLIR
- Stars
- 131
- Forks
- 53
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 193
Description
```
%32:3 = "enzymexla.multi_rotate"(%31) <{dimension = 2 : si32, left_amount = 2 : si32, right_amount = 0 : si32}> : (tensor<4x1520x1520xf64>) -> (tensor<4x1520x1520xf64>, tensor<4x1520x1520xf64>, tensor<4x1520x1520xf64>) loc(#loc705)
%33:4 = "enzymexla.multi_rotate"(%31) <{dimension = 2 : si32, left_amount = 3 : si32, right_amount = 0 : si32}> : (tensor<4x1520x1520xf64>) -> (tensor<4x1520x1520xf64>, tensor<4x1520x1520xf64>, tensor<4x1520x1520xf64>, tensor<4x1520x1520xf64>) loc(#loc707)
```
we shouldn't have both here @jumerckx ?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the shown MLIR containing the two `enzymexla.multi_rotate` operations and trace the compiler's common-subexpression-elimination handling for this operation. Compare why the dimension and rotation amounts produce both results, and consider the issue done when redundant multi-rotate work is eliminated without changing the expected result arity.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100