torch-mlir/lib/Conversion/TorchToLinalg
Stella Laurenzo 6961f0a247
Re-organize project structure to separate PyTorch dependencies from core project. (#2542)
This is a first step towards the structure we discussed here:
https://gist.github.com/stellaraccident/931b068aaf7fa56f34069426740ebf20

There are two primary goals:

1. Separate the core project (C++ dialects and conversions) from the
hard PyTorch dependencies. We move all such things into projects/pt1 as
a starting point since they are presently entangled with PT1-era APIs.
Additional work can be done to disentangle components from that
(specifically LTC is identified as likely ultimately living in a
`projects/ltc`).
2. Create space for native PyTorch2 Dynamo-based infra to be upstreamed
without needing to co-exist with the original TorchScript path.

Very little changes in this path with respect to build layering or
options. These can be updated in a followup without commingling
directory structure changes.

This also takes steps toward a couple of other layering enhancements:

* Removes the llvm-external-projects/torch-mlir-dialects sub-project,
collapsing it into the main tree.
* Audits and fixes up the core C++ build to account for issues found
while moving things. This is just an opportunistic pass through but
roughly ~halves the number of build actions for the project from the
high 4000's to the low 2000's.

It deviates from the discussed plan by having a `projects/` tree instead
of `compat/`. As I was thinking about it, this will better accommodate
the follow-on code movement.

Once things are roughly in place and the CI passing, followups will
focus on more in-situ fixes and cleanups.
2023-11-02 19:45:55 -07:00
..
CMakeLists.txt Re-organize project structure to separate PyTorch dependencies from core project. (#2542) 2023-11-02 19:45:55 -07:00
DataMovement.cpp add uncovered cases in view lowering (#2524) 2023-11-01 21:56:44 -05:00
IndirectDataMovement.cpp Elide dynamic broadcast checks when in strict symbolic shapes mode. (#2496) 2023-09-29 16:45:48 -07:00
Linear.cpp [TorchToLinalg] Improve broadcast lowerings in strict symbolic modes (#2505) 2023-10-05 15:15:26 -04:00
Pooling.cpp [build] Update llvm tag to a3f2751f (#2397) 2023-08-15 09:53:28 -07:00
PopulatePatterns.h Re-enable custom op support 2022-08-16 22:49:08 +05:30
Random.cpp build: update llvm tag to 798fa4b4 (#1684) 2022-12-07 12:20:41 -08:00
Reduction.cpp Bump llvm-project to f66cd9e9556a53142a26a5c21a72e21f1579217c. (#2466) 2023-09-19 10:50:53 -07:00
TensorConstructors.cpp [build] Update llvm tag to a3f2751f (#2397) 2023-08-15 09:53:28 -07:00
TensorScalarInterop.cpp Elide dynamic broadcast checks when in strict symbolic shapes mode. (#2496) 2023-09-29 16:45:48 -07:00
TorchToLinalg.cpp Add complex types support with basic complex ops. 2023-05-11 21:29:07 +05:30
Uncategorized.cpp [MLIR][TORCH] Add support for int8 dtype for sub, add, and bitwise_and op 2023-10-03 22:12:31 +05:30
Utils.cpp [TorchToLinalg] Improve broadcast lowerings in strict symbolic modes (#2505) 2023-10-05 15:15:26 -04:00
Utils.h [TorchToLinalg] Improve broadcast lowerings in strict symbolic modes (#2505) 2023-10-05 15:15:26 -04:00