llvm/torch-mlir

Add support for `AtenDivTensorOp` `AtenDivScalarOp` with integer operands

開放

#456 建立於 2021年12月2日

 (1 則留言) (0 個反應) (0 位負責人)C++ (724 個分叉)github user discovery
help wanted

倉庫指標

星標
 (1,889 顆星)
PR 合併指標
 (平均合併 11天 19小時) (30 天內合併 18 個 PR)

描述

The type promotion rule for div ops are different when both operands are integers (integer operands are promoted to default float type) see https://pytorch.org/docs/stable/generated/torch.div.html.

To support this, AtenDivTensorOp and AtenDivScalarOp need to have some customized logic in RefineTypes rather than using visitBinaryBroadcastingOp or visitBinaryTensorScalarOp directly as it is now https://github.com/llvm/mlir-npcomp/blob/5475d02a0d03b2bda7ef9cc240773041d22a926b/lib/Dialect/Torch/Transforms/RefineTypes.cpp#L305-L308.

Once the changes in RefineTypes are made, the TorchToLinalg lowering code can be updated as well.

貢獻者指南