> How will vectorization work? If there is a `vectorize` directive spanning a > logical extent, will the vectorization pass create multidimensional `ramp`s? > How will vector loads and stores be represented?
While in principle a vectorized load/store could fallback to a non-vectorized load/store, this would result in ignoring the `vectorize` directive entirely, which would be rather unexpected from the user's perspective. Therefore, my plan for the initial implementation is to require the elements to be contiguous in both the logical and physical layouts if they are vectorized. In both the physical and logical layouts, the vector load/store would be represented using a `RampNode` with `stride==1`. This restriction could then be loosened by allowing schedules to be expressed in terms of the physical layout, rather than the logical layout. I haven't thought through the full implications of this, which would likely involve either introducing an inlined Stage whose axes are the physical axes, or by exposing the physical axes as a separate parameter within the same stage. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/apache/tvm-rfcs/pull/39#issuecomment-937824488