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

   This commit adds support for splitting via the compile-time unknown constant 
`vscale`. Two main changes are introduced; they are described below.
   
   The split scheduling primitive has a new parameter disable_predication that 
allows the user to avoid introducing a block-level predicate when splitting 
with a factor of `vscale`. This feature is useful when schedule writers know 
that the loop they're splitting is a factor of the scalable vector length for 
their target. Otherwise, a predicate must be introduced due to the nature of 
`vscale`.
   
   CanProve has been extended to prove expressions that use multiple instances 
of `vscale`. Known possible scalar values of the `vscale` intrinsic are 
iterated over and substituted into the expression. If the expression holds true 
for each possible value, we can conclude the expression true. Currently only 
support for an SVE target has been added, but it is possible to extend to other 
targets as/when needed. If the analyzer becomes more powerful in the future and 
is able to deal with multiple instances of a symbolic value in an expression, 
this feature can be removed.
   
   Co-authored-by: Elen Kalda <[email protected]>
   Co-authored-by: Neil Hickey <[email protected]>


-- 
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