Zhekun Zhang
69e993b03f
[Torch Op] Add AtenChunkOp support ( #2152 )
...
* add chunkOp support
* update LTC xfail list
* address comments
* address comments
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-26 10:05:19 +08:00
Zhekun Zhang
a426363b7d
[Torch Dialect] Add split.tensor support + recompose rules ( #2102 )
...
* add split.tensor support + recompose rules
* add e2e test
* address comments
* address comments
* erase op in recomposeOp
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-23 12:43:33 -07:00
Prateek Gupta
938a489e74
[TORCH-MLIR] Add ODS for aten.sign op.
...
This commit adds ODS for the aten.sign op.
Signed-Off-By: Prateek Gupta <prateek.gupta2@cerebras.net>
2023-05-23 11:06:42 +05:30
Zhekun Zhang
5b63138d55
[Torch Dialect] Enforce signless attribute for ConstantIntOp ( #2078 )
...
* fix torch_c.to_i64
* restore dialect.cpp
* Empty commit, trigger test
* Empty commit, trigger test
* fix uint case
* address comments
* update error msg
* clean up
* use i64 for ConstantIntOp
* use I64Attr
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-22 19:21:34 -05:00
Zhekun Zhang
aa97c8383e
[Torch Op] Add unbind.int support with ListUnpack ( #2058 )
...
* add unbind int
* reformat
* use unpack canonicalize
* address comments
* Empty commit, trigger test
* add ltc blacklist
* clean up
* address comments
* check permute list
* erase in recompose
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-18 19:07:58 -07:00
TatWai Chong
ed4ecb072f
[tosa] support lowering basic torch binary ops with mixed dtypes ( #2122 )
...
Lowering torch operations that allow different compatible data types
in its operands to tosa end up generating invalid tosa IR with mixed
data types. In tosa spec, certain operations (generally element-wise
operations) require all operands to have the same data type.
Add wrapper functions for those element-wise tosa ops to perform op
creation with type conversion if necessary.
2023-05-18 17:12:18 -07:00
gpetters94
0302cf1d92
Add TMTensor::Attention and lower ScaledDotProductAttentionOp to it ( #2027 )
2023-05-16 15:17:45 -04:00
Maksim Levental
c76a48308e
[CAPI] add isValidSubtype to CAPI ( #2127 )
2023-05-13 22:15:45 -05:00
David Gens
17db2aafa3
add mse_loss_backward ( #2111 )
2023-05-12 14:29:13 -07:00
Ramiro Leal-Cavazos
de02b56e17
Replace RefineTypes with dtype functions ( #2105 )
...
This commit adds dtype functions for all the torch ops that did not
previously have one and removes the pass `RefineTypes`, since the
abstract interpretation library now takes care of all the dtype
propagation.
All dtype functions added are tested except for
- `aten.embedding`
- `aten._embedding_bag`
- `aten.embedding_bag`
These functions need a change to the testing framework to allow
specifying the actual data inside the tensor used for testing. I will
fix this in a follow up patch.
Co-authored-by: Jiahao Li <liplus17@163.com>
2023-05-12 13:40:45 -07:00
Prashant Kumar
3cd91affbc
Add complex types support with basic complex ops.
...
Add complex types support with basic complex types.
Add aten.imag and aten.real op lowering via linalg_backend.
2023-05-11 21:29:07 +05:30
rahul shrivastava
40a2c501a1
Add ODS for group_norm
...
- Add ODS for native_group_norm/backward.
- Add shape-inference for native_group_norm/backward .
Signed-off-by: rahul shrivastava <rahul.shrivastava@cerebras.net>
2023-05-11 21:21:12 +05:30
Sean Silva
d7614c261d
Integrate LLVM
...
LLVM: 26ee8947702d79ce2cab8e577f713685a5ca4a55
MHLO: 4805d8498dfb81566076f56f52273b426c1cc5bf
Per: https://github.com/llvm/torch-mlir/issues/1178#issuecomment-1538492185
2023-05-09 10:14:27 -07:00
Zhekun Zhang
0cf9ee340b
[Torch Dialect] Add to.dtype_layout canonicalize patterns ( #2062 )
...
* add to.dtype_layout canonicalize patterns
* update comment
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-02 20:06:02 -07:00
Yuanqiang Liu
c596d11b98
[Torch Dailect] add canonicalize pattern for prim.device ( #2066 )
2023-05-02 20:05:46 -07:00
Ze Zhang
7b73e0cfaf
Add e2e linalg support for aten.atan ( #2070 )
...
* new atan op
* update shape
---------
Co-authored-by: Ze Zhang <ze.zhang@getcruise.com>
2023-04-28 00:04:58 -07:00
rahul shrivastava
a58442b50d
Add ODS for aten.pow.Scalar
...
Signed-off-by: rahul shrivastava <rahul.shrivastava@cerebras.net>
2023-04-27 22:09:45 +05:30
Vivek Khandelwal
491ae5eda4
[MLIR][TORCH] Add E2E support for aten.var_mean.dim op
...
This commit adds the decomposition for the aten.var_mean.dim op.
Signed-Off By: Vivek Khandelwal<vivek@nod-labs.com>
2023-04-27 22:00:44 +05:30
rahul shrivastava
e3d876af42
Add aten.scatter.value Op ODS
...
Signed-off-by: rahul shrivastava <rahul.shrivastava@cerebras.net>
2023-04-25 11:40:19 +05:30
rahul shrivastava
b0f166bb9a
Add Nll_loss2d
...
- Add both forward and backward op
- Add end-to-end xfailed testcases
Signed-off-by: rahul shrivastava <rahul.shrivastava@cerebras.net>
2023-04-24 23:47:26 +05:30
rahul shrivastava
85916dab33
Add ODS for aten.scatter.src
...
Signed-off-by: rahul shrivastava <rahul.shrivastava@cerebras.net>
2023-04-24 23:46:35 +05:30
Yuanqiang Liu
4d98f76d4f
[Torch Dialect] fold aten.detach ( #2021 )
2023-04-18 08:59:14 -07:00
Vivek Khandelwal
ed56e614b7
[MLIR][TORCH] Add E2E support for cross entropy lowering
...
Signed-Off By: Vivek Khandelwal<vivek@nod-labs.com>
2023-04-18 08:00:20 +05:30
Abhishek Varma
a13d301356
[MLIR][TORCH] Add e2e support for aten.sort op
...
-- This commit adds e2e support for atend.sort op.
-- 1. Adds aten.sort op in torch dialect.
-- 2. Adds tm_tensor.sort op in TMTensor dialect.
-- 3. Adds lowering of aten.sort -> tm_tensor.sort.
Signed-off-by: Abhishek Varma <abhishek@nod-labs.com>
2023-04-13 12:59:43 +05:30
Yuanqiang Liu
72c3326097
[Torch Dialect] support for aten.one_hot ( #1852 )
2023-04-11 01:02:28 -07:00
Vivek Khandelwal
98747d09a8
[MLIR][TORCH] Add support for prims::view_of op
...
This op does nothing and just returns the input operand as the
result of the op.
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-04-11 07:58:10 +05:30
Abhishek Varma
5337944ddb
[MLIR][TORCH] Add e2e support for aten.randint
...
-- This commit adds e2e support for aten.randint by decomposing it into
an aten.randint.low by setting low=0.
Signed-off-by: Abhishek Varma <abhishek@nod-labs.com>
2023-04-07 00:13:56 +05:30
Vivek Khandelwal
e90ea3d7ab
[MLIR][TORCH] Extend implementation of aten._index_put_impl op.
...
This commits adds the support for cases for index_put_op:
1.) where index is a 2-d tensor.
2.) where indices is a list of tensors and none, with exactly
2 non none tensors along the consecutive dimensions.
This commit also adds a utility to compute the broadcast shape
given the two input tensors.
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-04-05 14:04:30 +05:30
Alexandre Rames
d24fa71368
Minor fixes for `ConvertTorchConversionToMLProgram`. ( #1991 )
...
* Only create the global seed variable if it does not exist already.
* Make the pass a module pass. A func pass may not modify its parent op.
2023-04-04 09:09:58 -07:00
Vivek Khandelwal
5e9582b055
[MLIR][TORCH] Add e2e support aten.movedim.int op
...
Signed-Off By: Vivek Khandelwal<vivek@nod-labs.com>
2023-04-04 17:53:27 +05:30
Vivek Khandelwal
82fb9c7fb8
[MLIR][TORCH] Add decomposition for prims::squeeze op
...
This commit adds the decomposition for the prims.squeeze op.
Signed-Off By: Vivek Khandelwal<vivek@nod-labs.com>
2023-04-01 21:45:58 +05:30
Ramiro Leal-Cavazos
42d780dde0
Remove convolution_overrideable, convolution_backward_overrideable ( #1984 )
...
The ops `aten.convolution_overrideable` and
`aten.convolution_backward_overrideable` are currently not e2e tested
in Torch-MLIR. Moreover, there is no way to add e2e tests for them
because the ops cannot be called using the CPU backend (this also
prevents adding tested dtype functions for these ops). Since these two
ops are not expected to ever appear in PyTorch traces obtained through
standard means (https://github.com/pytorch/pytorch/issues/97481 ),
Torch-MLIR should not have to worry about them.
2023-03-29 15:05:56 -07:00
Ramiro Leal-Cavazos
0103c55e55
Add `RecomposeComplexOps` declaration + fix typos in pass name ( #1950 )
...
The `RecomposeComplexOps` pass currently does not have a TableGen
declaration and it is using the base class of `DecomposeComplexOps`,
which causes `--mlir-print-ir-after-all` to create wrong pass
labels. This commit fixes that as well as some minor typos in the name
of the pass.
2023-03-28 11:07:47 -07:00
Ziheng Jiang
72bb902640
[STABLEHLO] Move utils.h to include/ ( #1974 )
2023-03-27 21:16:21 -07:00
Maksim Levental
953ea39cb5
handles 2,3,4 from https://github.com/llvm/torch-mlir/issues/1963 ( #1964 )
2023-03-24 21:50:01 -05:00
Zhekun Zhang
5758a0bfbb
[StableHLO] Support for slice_scatter ( #1960 )
...
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-03-22 13:41:04 -07:00
Jiahao Li
4912c3937d
Support aten.stack op and decompose it into unsqueeze & cat ( #1747 )
2023-03-11 09:25:25 +08:00
gpetters94
66b1045a80
Add a new RecomposeComplexOps pass, fold slice+copy_ into indeX_put_ ( #1901 )
2023-03-10 16:42:11 -05:00
Zhekun Zhang
1d3a7419c5
[Torch Dialect] add RSub, ScalarImplicit canonicalize ( #1899 )
...
* add rsub, scalarimplit canonicalizer
* reformat
* address comments
* fix bug
* fix test
* Update elementwise.py
* resolve merge conflict
* change to 3
* change to 3
* real fix
* fix name
* add torchdynamo fail test
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-03-06 17:38:27 -08:00
Priya Savithiri
c2ef5f4165
Add HardtanhBackward TOSA and LINALG support ( #1721 )
2023-03-06 10:16:37 -08:00
Yuanqiang Liu
7a8304f935
[Torch Dialect] add folder for aten.sub.float ( #1871 )
2023-03-02 09:07:33 -08:00
Yuanqiang Liu
fc1e091d6a
[Torch Dialect] add aten.pow.int_float op and it's folder ( #1872 )
2023-02-28 09:36:05 -08:00
Vivek Khandelwal
6e947b0021
build: update llvm tag to b5bf6f63
...
- Remove `useFoldAPI`.
- Update tags
llvm: b5bf6f6392a3408be1b7b7e036eb69358c5a2c29
mhlo: bb1ed5b47c036993b954e881cce7c7aab00f9962
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-02-28 22:58:18 +05:30
Vivek Khandelwal
a32840ffd7
build: manually update PyTorch version
...
Set PyTorch and TorchVision version to nightly release 2023-02-27.
This commit also adds the lowering for aten.add and aten.Float.Scalar op.
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-02-28 22:43:39 +05:30
Prateek Gupta
207229297e
[TORCH-MLIR] Add ODS for aten.clamp.Tensor op. ( #1894 )
...
This commit adds the ODS definition for the aten.clamp.Tensor op.
Signed-off-by: Prateek Gupta <prateek.gupta2@cerebras.net>
2023-02-24 09:18:24 -08:00
Zachary Cetinic
e7111d473b
[Torch Dialect] Scatter reduce lowering ( #1884 )
...
- Lowers the torch.scatter_reduce to linalg_on_tensors dialect.
- Includes support for "sum", "prod", "amax", "amin" and "mean".
2023-02-21 23:05:55 +00:00
Vivek Khandelwal
b17d4d4f08
[MLIR][TORCH] Add decomposition for aten.bernoulli.p op ( #1882 )
...
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-02-15 22:36:29 +05:30
Yuanqiang Liu
6ab990e1e8
[Torch Dialect] add folder for aten.Int.float ( #1863 )
2023-02-10 13:59:03 -08:00
Yuanqiang Liu
2f6fdb7f0b
[Torch Dialect] add folder for prim.min.int ( #1864 )
2023-02-10 13:58:15 -08:00
Zachary Cetinic
2a4a61f98f
Add aten.scatter_reduce op definition ( #1846 )
2023-02-07 21:59:07 +00:00