Diego Caballero
Diego Caballero
This PR leads to 34% and 30% improvement on MobileBERT-quant and fp on RISC-V on RISC-V.
Option #1 could always be a fallback approach when we can't lower to the LLVM gather intrinsics but, in general, it would be better to lower to these gather intrinsics...
> It looks like the op already supports multi-dimensional vectors on memrefs? The type of `base` in the second [example](https://github.com/llvm/llvm-project/blob/08c9fb8447108fd436bd342a573181c624485608/mlir/include/mlir/Dialect/Vector/IR/VectorOps.td#L1789-L1797) is a 2D mermef? We can gather from an n-D...
I think we are mixing a couple of concepts here: on one side we have the “framework-level gather” and on the other side we have the “vector-level gather”. They don't...
Thanks for investigating this further and sharing all the pointers! I think I now have a much better idea of where things stand! > All of them are lowered to...
Thanks, Mahesh! I think we are all aligned! You are summarizing the key points of the previous discussions and the conclusions we are reaching :). The only open questions were...
> on an n-D table, we can peel outer dims with loops and use vector.gather on the innermost dim if it isn't contiguous. The main problem with not modeling this...
We can also work on n-D `tensor.extract` ops that will be lowered to `vector.transfer_read` ops, as we discussed above. Those wouldn't need a `vector.gather` at all.
Hey Cindy, just checking on this task. Would you have time to look at it in the upcoming weeks?
Hey Ben, thanks for the feedback! This was expected to be a small starter task for Murali. The `mlir-strip` sounds really interesting but I think it's out of our scope...