Hi~ here are my two questions :) cc @kparzysz-quic - > 2\. Make vector length a parameter to `stage.vectorize`.
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 https://github.com/apache/tvm-rfcs/pull/77 may help? - > 3\. Introduce "predicate" to `BufferLoad` and `BufferStore`. 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 predicate? 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[...] = ...`? Thanks! -- Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/18#issuecomment-1173003679 You are receiving this because you are subscribed to this thread. Message ID: <apache/tvm-rfcs/pull/18/c1173003...@github.com>