Max191
Max191
Bump LLVM to include https://github.com/llvm/llvm-project/commit/205dce6029bed302f354c0bde5d8c5804f214051 and https://github.com/llvm/llvm-project/commit/3f18f6a2cfecb080f006477c46d3626102841a17
This adds a new pass to fold all unit dims on mutable globals. Reshape ops are inserted at the loads and stores, which should ideally fold with unit dim reshapes...
This adds a new pass to do propagation of data layouts all the way to mutable GlobalOps. This is just the basic analysis flow for now, only capable of handling...
Running the canonicalizer on this pack drops a dynamic dim on the result shape: ``` module { func.func @main(%arg0: tensor
The two dispatches in the following gist come from SDXL ([mlir file](https://storage.cloud.google.com/shark-public/ean/sdxl-turbine/SDXL1_0/BS1_len64/stable_diffusion_xl_base_1_0_64_unet_attn.mlir)) https://gist.github.com/Max191/49ef6fda457959cf4888897f4b0df8e7 We see a `dequant-like op -> element-wise op -> reduction -> element-wise op`. The indexing maps line...
This is added as a ConvertAtenTensorToScalarLikeOp conversion in torch to linalg, lowering into a tensor.extract.
The AtenTriuOp is decomposed into ops with shapeless and typeless vtensors, which causes some conversion failures in TorchToLinalg. This PR explicitly sets the shape and dtype on the resulting ops...
This op is just a no-op, so it is simply erased in the conversion.
This PR adds a vectorization pass pipeline and configurations for linalg_ext.winograd ops on LLVMGPU. The pipeline follows the base vectorization pipeline, but uses scf.for thread tiling and distribution, and includes...
In the winograd output transform, the output tiles will always write in bounds, and will always have the same static shape. This PR uses this in the tiledImplementation of the...