Enzyme-JAX
Enzyme-JAX copied to clipboard
Tracking issue for missing HLO derivatives
NOTE: Strikethrough ops are deliberately not annotated.
- [ ] StableHLO
- [x] AbsOp
- [x] AddOp
- [ ] ~AfterAllOp~
- [ ] AllGatherOp
- [ ] AllReduceOp
- [ ] AllToAllOp
- [ ] ~AndOp~
- [x] Atan2Op #90
- [ ] BatchNormGradOp
- [ ] BatchNormInferenceOp
- [x] BatchNormTrainingOp
- [ ] BitcastConvertOp
- [x] BroadcastInDimOp
- [ ] CaseOp
- [x] CbrtOp #90
- [x] CeilOp #90
- [ ] CholeskyOp
- [x] ClampOp #148
- [ ] CollectiveBroadcastOp
- [ ] CollectivePermuteOp
- [x] CompareOp
- [x] ComplexOp #90
- [ ] CompositeOp
- [x] ConcatenateOp
- [x] ConstantOp
- [x] ConvertOp
- [x] ConvolutionOp #178
- [x] CosineOp
- [ ] ~ClzOp~
- [ ] CustomCallOp
- [x] DivOp
- [x] DotGeneralOp
- [ ] DynamicBroadcastInDimOp
- [ ] DynamicConvOp
- [ ] DynamicGatherOp
- [x] DynamicIotaOp
- [ ] DynamicPadOp
- [ ] DynamicReshapeOp
- [x] DynamicSliceOp #220
- [x] DynamicUpdateSliceOp #159
- [x] ExpOp
- [x] Expm1Op #90
- [ ] FftOp (current rule is wrong!) #90
- [x] FloorOp #90
- [x] GatherOp
- [ ] GetDimensionSizeOp
- [ ] GetTupleElementOp
- [x] IfOp #149
- [x] ImagOp #145
- [ ] InfeedOp
- [x] IotaOp #90
- [x] IsFiniteOp #90
- [x] LogOp
- [x] Logp1Op #90
- [x] LogisticOp #90
- [ ] MapOp
- [x] MaxOp
- [x] MinOp #90
- [x] MulOp
- [x] NegateOp
- [ ] ~NotOp~
- [ ] OptimizationBarrierOp
- [ ] ~OrOp~
- [ ] OutfeedOp
- [x] PadOp
- [ ] PartitionIdOp
- [ ] ~PopcntOp~
- [x] PowOp
- [x] RealOp #145
- [ ] RecvOp
- [ ] ReduceOp
- [ ] ReducePrecisionOp
- [ ] ReduceScatterOp
- [ ] ReduceWindowOp
- [x] RemainderOp
- [ ] ReplicaIdOp
- [x] ReshapeOp
- [x] ReverseOp #90
- [x] RngOp #90
- [x] RngBitGeneratorOp #90
- [x] RoundOp #90
- [x] RoundNearestEvenOp #90
- [x] RsqrtOp
- [ ] ScatterOp
- [x] SelectOp
- [ ] SelectAndScatterOp
- [ ] SendOp
- [ ] ~ShiftLeftOp~
- [ ] ~ShiftRightArithmeticOp~
- [ ] ~ShiftRightLogicalOp~
- [x] SignOp #90
- [x] SineOp
- [x] SliceOp
- [x] SortOp
- [x] SqrtOp
- [x] SubtractOp
- [x] TanhOp
- [x] TransposeOp
- [ ] TriangularSolveOp
- [ ] #157
- [ ] UniformDequantizeOp
- [ ] UniformQuantizeOp
- [x] WhileOp #160
- [ ] ~XorOp~
- [ ] Deprecated operations in StableHLO
- [ ] BroadcastOp
- [ ] CreateTokenOp
- [ ] CrossReplicaSumOp
- [ ] DotOp
- [x] EinsumOp
- ~TorchIndexSelectOp~
- [x] UnaryEinsumOp
- [ ] CHLO
- [ ] Binary Element-wise Operations
- [ ] BroadcastAddOp
- [ ] BroadcastAtan2Op
- [ ] BroadcastDivOp
- [ ] BroadcastMaxOp
- [ ] BroadcastMinOp
- [ ] BroadcastMulOp
- [ ] BroadcastNextAfterOp
- [ ] BroadcastPolygammaOp
- [ ] BroadcastPowOp
- [ ] BroadcastRemOp
- [ ] ~BroadcastShiftLeftOp~
- [ ] ~BroadcastShiftRightArithmeticOp~
- [ ] ~BroadcastShiftRightLogicalOp~
- [ ] BroadcastSubOp
- [ ] BroadcastZetaOp
- [ ] Binary Logical Element-wise Operations
- [ ] ~BroadcastAndOp~
- [ ] ~BroadcastOrOp~
- [ ] ~BroadcastXorOp~
- [ ] Non-broadcasting Binary Operations
- [ ] NextAfterOp
- [x] PolygammaOp #90
- [ ] ZetaOp
- [ ]
ComplexOp - [ ] Unary Element-wise Operations
- [x] AcosOp #90
- [x] AcoshOp #90
- [x] AsinOp #90
- [x] AsinhOp #90
- [x] AtanOp #90
- [x] AtanhOp #90
- [ ] BesselI1eOp
- [x] ConjOp #90
- [x] CoshOp #90
- [x] SinhOp #90
- [x] TanOp #90
- [x] ConstantOp (shared with
StableHLO_ConstantOp) - [x] ConstantLikeOp
- [x] DigammaOp #90
- [ ] ErfOp
- [ ] ErfInvOp
- [ ] ErfcOp
- [x] IsInfOp #90
- [x] IsNegInfOp #90
- [x] IsPosInfOp #90
- [ ] LgammaOp
- [ ]
BroadcastCompareOp - [ ]
BroadcastSelectOp - [ ]
TopKOp
- [ ] Binary Element-wise Operations