2021-02-19 09:17:15 +08:00
|
|
|
*.swp
|
2022-01-11 15:42:53 +08:00
|
|
|
.cache/
|
2020-04-27 08:20:58 +08:00
|
|
|
.vscode
|
2022-08-31 02:07:25 +08:00
|
|
|
.ccache
|
2020-05-07 14:25:04 +08:00
|
|
|
.env
|
2021-01-09 02:34:49 +08:00
|
|
|
*.code-workspace
|
2021-08-10 04:55:20 +08:00
|
|
|
.ipynb_checkpoints
|
2021-10-22 12:09:00 +08:00
|
|
|
*.venv/
|
2021-10-22 12:18:08 +08:00
|
|
|
mlir_venv/
|
2022-07-01 03:40:17 +08:00
|
|
|
externals/pytorch/
|
|
|
|
libtorch*
|
2020-04-27 08:20:58 +08:00
|
|
|
|
2021-07-30 01:43:18 +08:00
|
|
|
/build/
|
[Pipeline] Use dedicated simplification pipeline for TorchDynamo frontend (#3376)
Discord Thread:
https://discord.com/channels/636084430946959380/1238330633328005243
## Context:
[This](https://github.com/llvm/torch-mlir/blob/main/python/torch_mlir/fx.py#L61)
was updated to support e2e tests for the TorchDynamo frontend in
Torch-MLIR, where we run FX decompositions and import the FX IR to
generate Torch dialect, followed by
`torch-function-to-torch-backend-pipeline`, skipping only the shape/type
refinement for now. However, we should be able to skip many of the torch
simplification passes, as depicted in the [frontend
roadmap](https://github.com/llvm/torch-mlir/blob/main/docs/images/roadmap_frontend.png).
Based on IREE's TorchDynamo
[pipeline](https://github.com/iree-org/iree/blob/main/compiler/plugins/input/Torch/InputConversion/Passes.cpp#L29),
the only two passes we seem to require are: `ReduceOpVariantsPass` and
`DecomposeComplexOpsPass`. This is inline with our findings as well
based on initial exploration.
This PR creates a dedicated frontend simplification pipeline for
TorchDynamo / FX Importer which calls only `ReduceOpVariantsPass` and
`DecomposeComplexOpsPass`. We rely on the e2e fx_importer tests to
ensure we're not regressing by removing many of the passes that were
historically needed for TorchScript.
One notable change here is that we do not call the
`LowerToBackendContractPass` anymore, which used to call
`TorchSimplificationPipeline` iteratively until VerifyBackendContract
was clean. Some of this was required for the shape/type refinement to
converge, which seems a non-issue for Dynamo frontend. Do we anticipate
this (the iterative invocation of TorchSimplificationPipeline followed
by VerifyBackendContract) to be worth retaining in the Dynamo frontend
pipeline? If so, I can make those changes, PLMK.
2024-05-22 20:23:18 +08:00
|
|
|
.build-cache/
|
2024-03-14 11:41:48 +08:00
|
|
|
/setup_build/
|
2020-05-09 08:36:07 +08:00
|
|
|
__pycache__
|
2022-06-08 02:38:50 +08:00
|
|
|
*.pyc
|
2020-05-09 08:36:07 +08:00
|
|
|
|
2020-11-25 02:42:56 +08:00
|
|
|
.pytype
|
2021-07-29 06:58:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
# Pip artifacts.
|
|
|
|
*.egg-info
|
|
|
|
*.whl
|
2021-10-06 04:16:12 +08:00
|
|
|
/wheelhouse
|
2022-04-07 02:20:39 +08:00
|
|
|
|
|
|
|
# Bazel
|
|
|
|
bazel-*
|
2022-02-26 08:50:09 +08:00
|
|
|
|
2022-04-15 00:40:10 +08:00
|
|
|
# Autogenerated files
|
2023-11-20 04:10:19 +08:00
|
|
|
/projects/ltc/csrc/base_lazy_backend/generated
|
2022-08-31 02:07:25 +08:00
|
|
|
|
|
|
|
#Docker builds
|
|
|
|
build_oot/
|
|
|
|
docker_venv/
|
|
|
|
llvm-build/
|
2023-02-10 22:26:49 +08:00
|
|
|
|
|
|
|
# C++ build artifacts
|
|
|
|
compile_commands.json
|