torch-mlir/python/torch_mlir/csrc/base_lazy_backend
Gleb Kazantaev 6b02e9a926
[LTC] Tensor[]? support operands type support using partial codegen (#2410)
* Tensor[]? support operands type support using partial codegen

* aten.index.Tensor support via partial codegen

* Add torch.index_put tracing support

* Added optional tensor list type support for LTC/TorchMLIR lowering

* Added comments

Co-authored-by: Gleb Kazantaev <gleb.kazantaev@cerebras.net>
2023-08-30 06:29:39 -04:00
..
ops [LTC] Tensor[]? support operands type support using partial codegen (#2410) 2023-08-30 06:29:39 -04:00
utils LTC->MLIR Debug Info support (#1922) 2023-08-02 10:29:11 -04:00
CMakeLists.txt [LTC] Tensor[]? support operands type support using partial codegen (#2410) 2023-08-30 06:29:39 -04:00
README.md Update Torch MLIR readme 2022-07-30 09:40:02 -04:00
backend_impl.cpp Update TorchMlirBackendImpl Methods (#1580) 2022-11-14 00:37:49 -05:00
backend_impl.h Update TorchMlirBackendImpl Methods (#1580) 2022-11-14 00:37:49 -05:00
dynamic_ir.cpp Resolve CI testing failure for Lazy Tensor Core (#1088) 2022-07-30 09:40:02 -04:00
dynamic_ir.h Fix LTC Decoupling (#815) 2022-07-30 09:40:02 -04:00
ir_builder.h Remove MakeView from IR Builder (#1552) 2022-11-09 13:46:34 -05:00
mlir_lowering_context.cpp LTC->MLIR Debug Info support (#1922) 2023-08-02 10:29:11 -04:00
mlir_lowering_context.h Enable VerifyBackendContract in LTC backend (#1798) 2023-01-24 22:14:17 -05:00
mlir_native_functions.cpp [LTC] Tensor[]? support operands type support using partial codegen (#2410) 2023-08-30 06:29:39 -04:00
mlir_node.cpp [LTC] Tensor[]? support operands type support using partial codegen (#2410) 2023-08-30 06:29:39 -04:00
mlir_node.h [LTC] Tensor[]? support operands type support using partial codegen (#2410) 2023-08-30 06:29:39 -04:00
mlir_node_lowering.cpp [LTC] Tensor[]? support operands type support using partial codegen (#2410) 2023-08-30 06:29:39 -04:00
mlir_node_lowering.h Generate MLIR with shape information via LTC frontend (#742) 2022-07-30 09:40:02 -04:00
shape_inference.cpp add max_pool3d (#2386) 2023-08-28 19:01:55 -04:00

README.md

Torch-MLIR Lazy Tensor Core Backend

Detailed Documentation

Detailed documentation about the architecture of this LTC backend is available here.

Summary

Contained within this directory are the components that implements the Torch-MLIR LTC backend. Note that the code style for LTC components is consistent with that of LTC itself, rather than the rest of Torch-MLIR.

The components are subclasses of the backend API interface classes found under torch/csrc/lazy/backend.

Importantly, the subclasses are still abstract classes. Pure virtual methods such as Compile were purposefully not overriden as Torch-MLIR does not know how to compile the model for the target hardware.

The intent is that vendor hardware specific plugins will subclass the Torch-MLIR backend classes and override the remaining pure virtual functions to complete the backend.

The Torch-MLIR LTC backend's job is to perform the lowering from ATen to MLIR. A hardware vendor's backend job is to take care of the actual compile and execution of the lowered MLIR.