Zhekun Zhang
6a072d4f4a
[Stablehlo] AtenEmptyMemoryFormat remove device cpu check ( #2288 )
...
* remove cpu check
* update dtype
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-07-10 15:36:21 +08:00
Abhishek Varma
6c9ba4ce95
[Torch-to-Linalg] Add dynamic dimension support for BroadcastTo op ( #2174 )
...
-- This commit adds support for dynamic dimension in BroadcastTo op.
Signed-off-by: Abhishek Varma <abhishek@nod-labs.com>
2023-07-07 10:01:51 -07:00
Sean Silva
8c87057f50
update PyTorch version to 2.1.0.dev20230704 ( #2282 )
...
- torch version: 2.1.0.dev20230704
- torch commit hash: e5472fd3c324c5ecb343884e5399e0227cc30a6c
- torchvision version: 0.16.0.dev20230704
Co-authored-by: Roll PyTorch Action <torch-mlir@users.noreply.github.com>
2023-07-04 08:23:00 -07:00
Jiawei Wu
c7fa42b7d3
[Torch Dialect] Add canonicalizer for aten.to.other op ( #2273 )
...
Canonicalize aten.to.other to prim.device + prim.dtype + aten.to.device
Co-authored-by: wujiawei.aml <wujiawei.aml@bytedance.com>
2023-06-30 09:43:08 +08:00
Yuanqiang Liu
449cfb8375
[Torch Dialect] add more scalar op folders ( #2265 )
2023-06-29 10:37:13 +08:00
Chi_Liu
ddd0c06970
[TORCH] Fix recompose off by -1 error ( #2271 )
2023-06-27 13:34:14 -07:00
Yuanqiang Liu
859885c1d3
[Torch Dialect] Support aten.native_dropout ( #2259 )
...
* [Torch Dialect] Support aten.native_dropout
* update
2023-06-27 14:19:33 +08:00
Yuanqiang Liu
1ea2b57ab7
[Torch Dialect] add folder for aten.add ( #2264 )
...
* [Torch Dialect] add folder for aten.add
* update
* update
* update
2023-06-27 10:55:28 +08:00
Yuanqiang Liu
0548e2ef3b
[Stablehlo] fix promoteType() when input doesn't have DefiningOp ( #2262 )
2023-06-26 00:04:17 +08:00
Sean Silva
fbb5ed52cf
update PyTorch version to 2.1.0.dev20230623 ( #2260 )
...
- torch version: 2.1.0.dev20230623
- torch commit hash: ad724c83fb0d94cb3bb2cec94e15d88023c64e0d
- torchvision version: 0.16.0.dev20230623
Co-authored-by: Roll PyTorch Action <torch-mlir@users.noreply.github.com>
2023-06-23 09:03:50 -07:00
Yuanqiang Liu
64afc08dab
[Torch Dialect] add missing one_hot dtype function ( #2143 )
...
* [Torch Dialect] add missing one_hot dtype function
* update
* update
* update
2023-06-23 16:11:33 +08:00
Yuanqiang Liu
39201a4be5
[Torch Dialect] avoid assertion failure when PrimNumToTensorScalarOp'… ( #2256 )
...
* [Torch Dialect] avoid assertion failure when PrimNumToTensorScalarOp's input is torch.number
* update
2023-06-23 16:02:45 +08:00
Yuanqiang Liu
96b14e952e
[Torch Dialect] Support aten.device.with_index ( #2254 )
2023-06-23 01:07:14 +08:00
Yuanqiang Liu
4fd4477e15
[Torch Dialect] require hasSizes when decompose aten.amax ( #2248 )
2023-06-22 11:26:51 +08:00
Abhishek Varma
a0d2789840
[MLIR][TORCH] Add e2e support for aten.alias
...
-- This commit adds e2e support for aten.alias op.
Signed-off-by: Abhishek Varma <abhishek@nod-labs.com>
2023-06-21 12:15:31 +05:30
Maksim Levental
0244f540a7
Add typeids to CAPI. ( #2253 )
2023-06-20 22:06:43 -05:00
Vivek Khandelwal
f6a6cfea4e
[MLIR][TORCH] Add support for negative index values for index.Tensor op ( #2233 )
...
This commit adds the support for index.Tensor op when the index values
are negative. This commit wraps around the index values by checking
their values at run time.
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-06-16 14:21:04 -05:00
Matthias Gehre
6f420019cb
TorchToTosa: Cast float constants to correct type to support bfloat16 ( #2239 )
2023-06-16 09:51:24 +02:00
Yuanqiang Liu
bba0f5891b
[Stablehlo] add conversion for AtenFlipOp ( #2163 )
2023-06-15 10:27:34 +08:00
Yuanqiang Liu
7c6961bcbf
[Torch Dialect] Support aten.cuda and add canonicalizer for aten.cuda ( #2231 )
2023-06-14 09:56:39 +08:00
Maksim Levental
0caaf8d32a
Bump LLVM ( #2176 )
...
* Bump LLVM
---------
Co-authored-by: Matthias Gehre <matthias.gehre@xilinx.com>
2023-06-13 16:17:23 +02:00
Yuanqiang Liu
ddea56a832
[Torch Dialect] fix torch.uint8's dtype infer ( #2227 )
2023-06-13 10:38:20 +08:00
Christopher McGirr
b461daa06e
fix(TorchToTosa.cpp): adjust torch->tosa div conversion ( #2200 )
...
check the return type of the division to figure out whether to use
the floating point implementation of a division or to use the integer.
the issue rose from the fact that the inputs are all integer but the
result was casted to floating point. The conversion then chose to
use the integer implementation of division which is not legal in tosa
when all the inputs get casted to floating point.
fix(TorchToLinalg): AtenDivScalarOp
upcast self operand as well if applicable, the self operand must also
be casted to float as it can be an integer.
2023-06-12 11:18:38 +02:00
Tiago Trevisan Jost
cc75557119
feat: support unchanged dimensions in torch.aten.broadcast_to operation. ( #2204 )
2023-06-12 11:17:25 +02:00
Matthias Gehre
4e2ba2e0af
Support aten.sign ( #2205 )
2023-06-10 20:45:35 +02:00
Matthias Gehre
27a3d09917
Torch: Fold RuntimeAssertOp when condition is true ( #2198 )
2023-06-09 19:06:25 +08:00
Yuanqiang Liu
5a7bf4e4cb
[Torch Dialect] Add canonicalize pattern for aten.is_floating_point ( #2194 )
...
* [Torch Dialect] Add canonicalize pattern for aten.is_floating_point
* implement as fold
* add lit test
2023-06-07 17:05:31 +08:00
JianzheXiao
e4f8fb1b8c
[Torch Dialect] add support for AtenIsnanOp ( #2170 )
...
* add support for mhlo
* Add Test for torch.ne
* fix torch.ne shape/add static test case
* add support for static torch.ne
---------
Co-authored-by: root <root@n31-177-039.byted.org>
2023-06-07 10:06:27 +08:00
Yuanqiang Liu
faec8698ea
[Torch Dialect] Support recompose aten.split.Tensor + prim.ListUnpack ( #2192 )
2023-06-07 01:38:04 +08:00
Vivek Khandelwal
da886280fe
[MLIR][TORCH] Add E2E support for aten.tril op ( #2202 )
...
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-06-05 16:17:01 -07:00
Ramiro Leal-Cavazos
a46b5c6af2
Fix types + off-by-1 error, clamp `end` in slice+copy_ recomposition
...
The `copy_` op being replaced by `RecomposeSliceCopy_` operates on a
subset of the tensor being mutated, while the `index_put` op being
used to replace the `copy_` op operates on the entire tensor being
mutated. This means that the result type of the `index_put` should be
the type of the input to `index_put` and we need to make sure that
`copy_` does not have users before replacing to avoid type conflicts.
This commit also fixes the result type used for the
`AtenArangeStartStepOp`, and an off-by-1 error when creating the
indices vector.
Lastly, this commit also clamps the `end` value from the slice to the
size of the dimension.
2023-06-01 11:14:53 -07:00
Ramiro Leal-Cavazos
281dccc681
[LINALG] Add dynamic support for `PrimMinIntOp`
2023-06-01 11:14:53 -07:00
Zhekun Zhang
8af3e50662
[Torch Dialect] Add support for AtenScalarTensorOp ( #2085 )
...
* add scalar_tensor op
* add dynamo pass test; needs PR2062
* try to fix
* Empty commit, trigger test
* Empty commit, trigger test
* address comments
* use dtype function
* fix decompose rule
* remove unused include
* Empty commit, trigger test
* fix test
* disable ltc
* fix dtype
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-06-01 11:38:50 +08:00
Vivek Khandelwal
959f4f48d5
[MLIR][TORCH] Add support for the total_weight for aten.nll_loss_forward op
...
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-05-30 20:29:27 +05:30
Gaurav Shukla
552887783a
[TM_TENSOR] Add `aten.scatter.[src|value]` op
...
This commit adds support of `aten.scatter.src` and `aten.scatter.value`
ops.
Signed-Off-by: Gaurav Shukla <gaurav@nod-labs.com>
2023-05-29 12:35:53 +05:30
Yuanqiang Liu
5223f990df
[Stablehlo] Enable Stablehlo backend with arith dialect ( #2139 )
2023-05-26 22:57:57 +08:00
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
Ramiro Leal-Cavazos
dff3405d5a
Add alias analysis for cast-like ops to maximize-value-semantics ( #2160 )
...
When `use_tracing=True` is used to import a model into Torch-MLIR,
several casts get inserted in the IR to bridge the untyped inputs and
outputs with the typed body of the computation. These casts create
extra aliases of tensors that cause the current analysis in
`maximize-value-semantics` to fail.
In particular, the `maximize-value-semantics` analysis assumes that the
only valid alias right after an overwrite is the overwritten
alias. So, if there is a use of a casted version of the overwritten
alias after the overwrite, the analysis fails.
This commit improves the analysis by identifying all cast-like aliases
of the overwritten alias and allowing such aliases to be used after an
overwrite.
Because this issue only arises when using tracing, it cannot be
currently tested e2e, so only lit test is added.
2023-05-25 17:05:41 +00:00
Zhekun Zhang
f0b7b63be0
[Stablehlo] Add aten.uniform lowering ( #2101 )
...
* add uniform stablehlo lowering
* add unit test
* new line
* rm redundant file
* Empty commit, trigger test
* fix include
* address comments
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-25 10:32:55 +08:00
Zhekun Zhang
eb8f56aeb7
[Stablehlo] Add `AtenIndexTensor` StableHlo support ( #2107 )
...
* Add AtenIndexTensor StableHlo support
* clean up
* Empty commit, trigger test
* try to debug hanging test
* fix segfulat
* fix bad include
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-24 11:13:57 -07: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
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
Ramiro Leal-Cavazos
588bdc1344
Fix sign-compare warning ( #2136 )
2023-05-22 09:15:33 -07: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
Zhekun Zhang
1333674905
[StableHlo] Support AtenEmptyMemoryFormatOp ( #2092 )
...
* add empty conversion
* clean up
* add tests
---------
Co-authored-by: zhekun.zhang <zhekun.zhang@bytedance.com>
2023-05-18 19:07:35 -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
Vivek Khandelwal
5698893ae4
build: manually update PyTorch version
...
Set PyTorch and TorchVision version to nightly release 2023-05-16.
Signed-Off By: Vivek Khandelwal <vivek@nod-labs.com>
2023-05-18 21:30:11 +05:30
Yuanqiang Liu
6f7d9e83df
[Stablehlo] add e2e test for aten.batch_norm ( #2129 )
2023-05-17 09:04:40 -07:00
Yuanqiang Liu
e98f2ba04a
[Torch Dialect] require dtype exists when decompose to aten.where.self ( #2094 )
...
* [Torch Dialect] require dtype exists when decompose to aten.where.self
* update
2023-05-17 09:04:26 -07:00
gpetters94
0302cf1d92
Add TMTensor::Attention and lower ScaledDotProductAttentionOp to it ( #2027 )
2023-05-16 15:17:45 -04:00