EnzymeAD / EnzymeAD/Enzyme-JAX

Multi rotate cse

Open
#2,090 6 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.