Lunderberg opened a new pull request, #12927:
URL: https://github.com/apache/tvm/pull/12927

   Prior to this commit, `IndexMap::MapShape` could produce incorrect results 
when the split factor is greater than the size of the dimension being split.  
For example, a buffer of shape `[N]` mapped transformed with `lambda i: [i//4, 
i%4]` should result in shape `[ceildiv(N,4), 4]`.  However, for `N<4`, the 
transformed shape was instead `[1, N%4]`.  This results in unexpected shapes 
when attempting to prepare a buffer for vectorized access.
   
   This commit preferentially uses the result of `arith::DetectIterMap` to 
determine the mapped buffer shape, similar to what is done when computing the 
inverse.  The old method of `MapShape`, which relied on `arith::EvalSet`, is 
maintained for transformations that aren't recognized by `arith::DetectIterMap`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to