llvm/torch-mlir

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

Open

#456 建立於 2021年12月2日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)C++ (692 fork)github user discovery
help wanted

倉庫指標

Star
 (1,840 star)
PR 合併指標
 (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.

貢獻者指南