Vidush Singhal
34e207eeb5
E2E support for AtenRemainderScalarOp ( #1119 )
...
* E2E support for AtenRemainderScalarOp
2022-08-08 20:02:52 -04:00
Vidush Singhal
b70548edff
Add decomposition and E2E support for Aten_EmbeddingBag ( #1137 )
...
* Add decomposition and E2E support for Aten_EmbeddingBag
2022-08-08 18:56:49 -04:00
Henry Tu
f85ae9c685
Reenable LTC in out-of-tree build ( #1177 )
2022-08-08 17:35:22 -04:00
Tanyo Kwok
290d7755fb
importer: add initial support for loading Float16 tensors ( #1169 )
...
follow up #761 :
This patch updates the `torch_mlir::convertTensorToMlirElementsAttr()`
method to enable the creation of tensors whose base type is Float16.
This patch also adds a test to validate the IR generation, and it
updates the test for importing tensors of various types.
2022-08-08 12:37:31 +08:00
Tanyo Kwok
1ee865983b
[MHLO] fix tensor mode aten.div op pattern ( #1160 )
...
* [MHLO] fix tensor mode aten.div op pattern
See RFC #999
Co-authored-by: Bairen Yi <yibairen.byron@bytedance.com>
Co-authored-by: Jiawei Wu <xremold@gmail.com>
Co-authored-by: Tianyou Guo <tianyou.gty@alibaba-inc.com>
Co-authored-by: Xu Yan <yancey.yx@alibaba-inc.com>
Co-authored-by: Ziheng Jiang <ziheng.jiang@bytedance.com>
2022-08-06 23:38:06 +08:00
Sean Silva
5618890ca0
development.md: Avoid name collisions with PYTORCH_ variables
2022-08-05 19:41:08 -07:00
Sean Silva
1fdaf2faa0
development.md: How to enable ASan
2022-08-05 17:37:09 -07:00
Henry Tu
e322f6a878
Update LTC CMake hack documentation ( #1155 )
...
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update buildAndTest.yml
* Update setup.py
* Address review comments
2022-08-05 14:12:20 -04:00
Sean Silva
8ce5d3f12c
E2E framework: Report tensor dtype in summary
...
This helps to triage issues related to backends that don't support all
dtypes.
2022-08-05 10:05:18 -07:00
Vivek Khandelwal
c129a6de93
[MLIR][TORCH] Add support for dim=None to Aten[Var|Std]DimOp
...
PyTorch recently added support for `dim=None` in the `torch.var`
(5ca9b2b6fa
)
and `torch.std`op (eb0e30e0bc
).
This commit adds the corresponding support in torch-mlir.
Signed-Off By: Vivek Khandelwal<vivek@nod-labs.com>
2022-08-05 20:28:56 +05:30
Sean Silva
31727f81d8
torch_mlir.compile: Allow ignoring traced shapes
...
In some cases, users know that a traced graph is valid for a wider set
of shapes than they originally traced it with. Provide an option for
users to ignore the shapes in the traced graph when they know it is
legal.
Fixes #997
2022-08-04 10:18:34 -07:00
Sean Silva
6484776a25
Make numerical stability test more perverse
...
To test the summation stability of `torch.aten.var`, add a large
constant to it, which increases the effective precision requirements.
2022-08-04 10:04:38 -07:00
武家伟
c94431f71c
[MHLO] Add convolution op pattern ( #1152 )
...
Co-authored-by: Bairen Yi <yibairen.byron@bytedance.com>
Co-authored-by: Jiawei Wu <xremold@gmail.com>
Co-authored-by: Tianyou Guo <tianyou.gty@alibaba-inc.com>
Co-authored-by: Xu Yan <yancey.yx@alibaba-inc.com>
Co-authored-by: Ziheng Jiang <ziheng.jiang@bytedance.com>
2022-08-04 00:41:35 -07:00
gpetters94
08fc2d89bb
Add non-unit groups support to aten.convolution ( #858 )
2022-08-04 02:18:38 -04:00
武家伟
d030591df9
[MHLO] Init MHLO pooling-like op conversion ( #1141 )
...
* [MHLO] Init MHLO pooling-like op conversion and remove 'op' suffix in filenames
Co-authored-by: Bairen Yi <yibairen.byron@bytedance.com>
Co-authored-by: Jiawei Wu <xremold@gmail.com>
Co-authored-by: Tianyou Guo tianyou.gty@alibaba-inc.com
Co-authored-by: Xu Yan <yancey.yx@alibaba-inc.com>
Co-authored-by: Ziheng Jiang <ziheng.jiang@bytedance.com>
See RFC #999
2022-08-04 12:34:22 +08:00
Tanyo Kwok
f0a24f59f6
[MHLO] Init MHLO linear op patterns ( #1132 )
...
See RFC https://github.com/llvm/torch-mlir/issues/999
Co-authored-by: Bairen Yi yibairen.byron@bytedance.com
Co-authored-by: Jiawei Wu xremold@gmail.com
Co-authored-by: Tianyou Guo tianyou.gty@alibaba-inc.com
Co-authored-by: Xu Yan yancey.yx@alibaba-inc.com
Co-authored-by: Ziheng Jiang ziheng.jiang@bytedance.com
2022-08-03 19:10:54 -07:00
Ahmed S. Taei
48ec300586
[Fix bazel] Add recently added torch->mhlo conversion pass to bazel ( #1148 )
2022-08-03 14:12:07 -07:00
powderluv
37a229cffc
Update buildAndTest.yml ( #1145 )
2022-08-03 12:50:54 -07:00
powderluv
0d25b6f10e
Fix cache-suffix name bug ( #1138 )
...
This should enabling better caching of builds.
2022-08-03 07:53:01 -07:00
Vivek Khandelwal
f2a0e32127
[MLIR][TORCH] Fix CI failure
...
This commit fixes the CI failure by temporarily adding the failing
test to xfail set.
Signed-Off By: Vivek Khandelwal<vivek@nod-labs.com>
2022-08-03 20:07:56 +05:30
武家伟
636f5acb10
[MHLO] Init MHLO reduce-like op conversion ( #1133 )
...
* [MHLO] init reduce-like op conversion from Torch to MHLO
Co-authored-by: Bairen Yi <yibairen.byron@bytedance.com>
Co-authored-by: Jiawei Wu <xremold@gmail.com>
Co-authored-by: Tianyou Guo <tianyou.gty@alibaba-inc.com>
Co-authored-by: Xu Yan <yancey.yx@alibaba-inc.com>
Co-authored-by: Ziheng Jiang <ziheng.jiang@bytedance.com>
2022-08-03 10:47:52 +08:00
Tanyo Kwok
0b23af27d3
[MHLO] support non-constant torch scalar in BasicOps ( #1134 )
...
See RFC https://github.com/llvm/torch-mlir/issues/999
Co-authored-by: Bairen Yi yibairen.byron@bytedance.com
Co-authored-by: Jiawei Wu xremold@gmail.com
Co-authored-by: Tianyou Guo tianyou.gty@alibaba-inc.com
Co-authored-by: Xu Yan yancey.yx@alibaba-inc.com
Co-authored-by: Ziheng Jiang ziheng.jiang@bytedance.com
2022-08-03 08:16:31 +08:00
Ahmed S. Taei
82af44da2f
Fix mhlo bazel rule name ( #1136 )
2022-08-02 12:28:53 -07:00
Ramiro Leal-Cavazos
a7af1fd873
Add support for `dim=None` to `AtenMeanDimOp` ( #1129 )
...
PyTorch recently added support for `dim=None` in the `torch.mean`
op (2bfae07a79
). This
commit adds the corresponding support in torch-mlir.
2022-08-02 16:08:06 +00:00
Quinn Dawkins
38d8498b21
add e2e support for aten.atan2 ( #1117 )
...
- Includes math-to-libm pass in refbackend for math::atan2 support
2022-08-02 11:39:41 -04:00
Yan Xu
704efdc259
[MHLO] add aten::gelu op pattern ( #1127 )
...
add aten::gelu op pattern, and moved some unit tests from basic.mlir to elementwise.mlir
2022-08-02 15:01:30 +08:00
武家伟
76c976682c
[MHLO] Support for dynamic shape in basic op conversion by introducing CHLO dialect ( #1123 )
...
* [MHLO] Support for dynamic shape in basic op conversion by introducing CHLO dialect
Co-authored-by: Bairen Yi <yibairen.byron@bytedance.com>
Co-authored-by: Jiawei Wu <xremold@gmail.com>
Co-authored-by: Tianyou Guo <tianyou.gty@alibaba-inc.com>
Co-authored-by: Xu Yan <yancey.yx@alibaba-inc.com>
Co-authored-by: Ziheng Jiang <ziheng.jiang@bytedance.com>
* [MHLO] Support I32 as shape tensor dtype
* [NFC] Add a 'TODO' annotation
2022-08-02 12:53:24 +08:00
Tanyo Kwok
3772e0bd91
[NFC][MHLO] move util funcs to MhloLegalizeUtils.h/cpp ( #1128 )
...
See RFC: https://github.com/llvm/torch-mlir/issues/999
Co-authored-by: Bairen Yi yibairen.byron@bytedance.com
Co-authored-by: Jiawei Wu xremold@gmail.com
Co-authored-by: Tianyou Guo tianyou.gty@alibaba-inc.com
Co-authored-by: Xu Yan yancey.yx@alibaba-inc.com
Co-authored-by: Ziheng Jiang ziheng.jiang@bytedance.com
2022-08-02 09:21:37 +08:00
Vidush Singhal
fe3c9f5208
Add embedding Bag e2e case in xfail set ( #1130 )
2022-08-01 18:23:45 -04:00
Vidush Singhal
ed13ebfd8d
E2E support for AtenEmbeddingBagPaddingIdxOp SUM Mode ( #1066 )
2022-08-01 16:44:11 -04:00
Alec
554570f3ab
Implemented a decomposition of aten::narrow
2022-08-01 18:32:14 +05:30
powderluv
30017af5b5
Disable LTC on Release builds ( #1125 )
2022-07-31 20:58:29 -07:00
Ashay Rane
55bbbec144
llvm: update tag to 02b3a35 ( #1124 )
...
As part of this update, this patch also updates MHLO tag to ad54b43.
2022-07-31 15:26:24 -07:00
Henry Tu
2c3b3606d0
Resolve remaining LTC CI failures ( #1110 )
...
* Replace CHECK_EQ with TORCH_CHECK_EQ
* Check value of TORCH_MLIR_USE_INSTALLED_PYTORCH during LTC build
* Update LTC XFAIL with NewZerosModule ops
* Explicitly blacklist _like ops
* Automatically blacklist new_/_like ops
* Prune away unused Python dependencies from LTC
* Add flag to disable LTC
* Autogen dummy _REFERENCE_LAZY_BACKEND library when LTC is disabled
* Implement compute_shape_var
* Removed Var tests from XFAIL Set
* XFAIL tests using _local_scalar_dense or index.Tensor
* Add StdDim tests to XFAIL set
* Autogen aten::cat
2022-07-30 09:40:02 -04:00
Jae Hoon (Antonio) Kim
425362263b
Clean up Autogen ( #1112 )
...
* Remove unnecessary sed in autogen
* Remove .pyc files frrom VCS
2022-07-30 09:40:02 -04:00
Jae Hoon (Antonio) Kim
368963243e
Export LTC Headers ( #1108 )
2022-07-30 09:40:02 -04:00
Henry Tu
70395de197
Resolve CI testing failure for Lazy Tensor Core ( #1088 )
...
* Xfail unsupported ops
* Register FuncDialect
* Include dynamic_ir in build
* Code reformat
* Enable LTC tests for macOS and Source Build
2022-07-30 09:40:02 -04:00
Jae Hoon (Antonio) Kim
0d16a91656
Add support for lift_fresh op ( #1101 )
2022-07-30 09:40:02 -04:00
Jae Hoon (Antonio) Kim
e37891b997
Default Device Ordinal API ( #1079 )
...
* Add default device ordinal API
* Fix reference backend
2022-07-30 09:40:02 -04:00
Antonio Kim
de6c135dc3
Fix LTC autogen for CI with nightly PyTorch
...
- Update llvm-project pin to match main
2022-07-30 09:40:02 -04:00
Henry Tu
cec74b8d37
Blacklist _convolution op ( #1048 )
...
* Blacklist _convolution op in LTC
* Removed duplicate Torch_AtenSelectScatterOp instance from autogen .td
* Removed duplicate Torch_AtenSliceScatterOp instance from autogen .td
2022-07-30 09:40:02 -04:00
Henry Tu
47bb38d180
Reference Lazy Backend ( #1045 )
...
* Changed Example MLIR backend to Reference MLIR backend
* Moved reference_ltc_backend into csrc
* Merged sys_utils.h
* Renamed reference_ltc_backend to reference_lazy_backend
* Addressed review comments
* Update docs with new library name
* Removed _REFERENCE_LAZY_BACKEND from .gitignore
* Added reference_lazy_backend to the TorchMLIRPythonModules dependency list
Fixed typo in `ltc_examples.md`
Missed instance where `ltc_backend` was used instead of `lazy_backend`.
2022-07-30 09:40:02 -04:00
Henry Tu
f5acad8512
Prune xfail e2e LTC tests & fix bugs from functionalization pass ( #1044 )
...
- Pruned number of xfailed e2e LTC tests from 305 to 134
- Reviewed every failure to ensure the error genuinely warrants an xfail
- Fixed bug where non-tensor outputs of LTC computation had `.to('cpu')` called, which caused a failure and inflated the xfail count
- Fixed bug with `HBC_basic` test where a constant tensor was created in its constructor without being declared as a buffer, which prevented the device from being updated when the parent `torch.nn.Module` got moved to the `lazy` device
- Note that this test is still xfail'd due to some unsupported ops. Left a comment about some potential issues that may arise if it gets reenabled in the future
- Updated autogen `GeneratedTorchOps.td` to reflect the latest set of supported ops
- Renamed `aten.zero.functionalization` to `aten.zero` to reflect upstream PyTorch changes
2022-07-30 09:40:02 -04:00
Henry Tu
9de06f3ebd
Update Torch MLIR readme
2022-07-30 09:40:02 -04:00
Henry Tu
61db88c9ec
LTC Documentation ( #1021 )
...
* Create ltc_backend.md
* Added introduction and examples
* Added descriptions for files from autogen
* Added remaining file descriptions
* architecture overview
* Added subheadings to architecture section
* Description for implementing custom backend
* Add graphics
* Future expansion
* Remove "location" in architecture section
* Updated LTC in readme
* Remove extra space in example
* Fix typo
* Reworded vendor compilation process
* Address PR review comments
* Updated diagrams
* Add kernel registration to diagram
* Address PR comments
* Create separate ltc_examples file
* PyBind -> pybind
2022-07-30 09:40:02 -04:00
Henry Tu
a3244b6a44
Update README.md to reflect LTC landing in main branch ( #1000 )
...
* Update README.md
* Update README.md
Co-authored-by: Jae Hoon (Antonio) Kim <17433012+antoniojkim@users.noreply.github.com>
* Update README.md
Co-authored-by: Jae Hoon (Antonio) Kim <17433012+antoniojkim@users.noreply.github.com>
* Update README.md
Co-authored-by: Jae Hoon (Antonio) Kim <17433012+antoniojkim@users.noreply.github.com>
2022-07-30 09:40:02 -04:00
Jae Hoon (Antonio) Kim
fb21c9e6cb
Integrate Functionalization Pass ( #998 )
...
* Fix autogen build dir issue
* Got functionalization pass to compile
* Add slice/diagonal backwards functionalization
* Fix codegen invocation in CMakeLists.txt
* Add functionalization view ops
* Fix logsumexp out functionalization
* Fix ComputationPtr
* Blacklist new_empty op
* Add op comparison
* Remove unnecessary ops
Co-authored-by: Henry Tu <henry.tu@cerebras.net>
2022-07-30 09:40:02 -04:00
Henry Tu
1510eae75d
Upstream native_batch_norm and native_batch_norm_backward shape inference functions ( #978 )
...
* Removed compute_shape_native_batch_norm
* Removed compute_shape_native_batch_norm_backward
2022-07-30 09:40:02 -04:00
Henry Tu
0cee0dc978
Only import the LTC backend that's used ( #939 )
2022-07-30 09:40:02 -04:00
Jae Hoon (Antonio) Kim
a62d60829c
Refactor autogen ( #925 )
2022-07-30 09:40:02 -04:00