> Hi~ here are my two questions :) cc @kparzysz-quic
>       What is the different between
>       
>       * `sch[C].vectorize(v, vector_length=32)` and
>       * `vo, vi = sch[C].split(v, 32)` then `sch[C].vectorize(vi)`
>       
>       It seems that we could also choose to properly lower the split's 
> predicate to reach the same goal as proposed below. For example,  weapons 
> introduced in RFC [[RFC] Buffer Layout Padding 
> #77](https://github.com/apache/tvm-rfcs/pull/77) may help?

Yes.  The padding proposed in the padding RFC could be utilized for this.  What 
I wrote didn't take that into account.

>       Our team also get confused on how to represent predicated ld/st, when 
> several months ago the upstream upgrade `T.load`/`T.store` (who have 1D 
> predicate field) to `BufferLoad`/`BufferStore`. Now since 
> `BufferLoad`/`BufferStore` are multi-dimensional, the predicate seems to also 
> be multi-dimensional field?

I suppose it could be multi-dimensional, but effectively it would be the 
conjunction of all the per-dimension predicates.

>       Another concern is whether embedding predicate into 
> `BufferLoad`/`BufferStore` increase the complexity (or break) buffer region 
> related analysis in existing implementations. Could we leverage 
> `T.select(pred, A[...], undef)` to represent `A[..., pred]`, or just match 
> the predicated memory access pattern like `if (pred) C[...] = ...`?

The region analysis could simply ignore the predicate (assume that it's true 
for all lanes).  This is presumably what would happen with the `select`.  For 
stores, we'd have to have an `if` statement that accepts a vector of booleans 
to properly emulate the store predicate.  Adding a predicate to 
`BufferLoadNode` and `BufferStoreNode` is a feature that could have some value 
on its own, so perhaps it deserves its own RFC...


-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/18#issuecomment-1175064079
You are receiving this because you are subscribed to this thread.

Message ID: <apache/tvm-rfcs/pull/18/c1175064...@github.com>

Reply via email to