llvm/torch-mlir

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

Ouverte

#456 ouverte le 2 déc. 2021

 (1 commentaire) (0 réaction) (0 personne assignée)C++ (724 forks)github user discovery
help wanted

Métriques du dépôt

Stars
 (1 888 étoiles)
Métriques de merge PR
 (Merge moyen 11j 19h) (18 PRs mergées en 30 j)

Description

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.

Guide contributeur