plaidml / tpp-mlir

TPP experimentation on MLIR for linear algebra
https://arxiv.org/abs/2404.15204
Other
111 stars 29 forks source link

Linalgtiling #974

Open arun-thmn opened 2 weeks ago

arun-thmn commented 2 weeks ago

This PR adds lingalg tiling pass to the pipeline.

Linalg tiling pass does tiling of the innermost dimensions of the batch reduce matmul. After tiling it swaps the BRGEMM loop and k-loop. The loop structure looks like M-loop->N-loop->BRGEMM-loop->K-loop(batch reduce matmul). Then lower the tiled code for vectorization using the vector contract pass.

The goal is to perform vectorization in tpp-mlir itself without relying on the libxsmm.