2c3b3606d0
* 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 |
||
---|---|---|
.. | ||
ops | ||
utils | ||
CMakeLists.txt | ||
README.md | ||
backend_impl.cpp | ||
backend_impl.h | ||
dynamic_ir.cpp | ||
dynamic_ir.h | ||
ir_builder.h | ||
mlir_lowering_context.cpp | ||
mlir_lowering_context.h | ||
mlir_native_functions.cpp | ||
mlir_node.cpp | ||
mlir_node.h | ||
mlir_node_lowering.cpp | ||
mlir_node_lowering.h | ||
shape_inference.cpp |
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.