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

   This resolves an issue introduced by the combination of 
https://github.com/apache/tvm/pull/14918 and
   https://github.com/apache/tvm/pull/14945.  The bug occurred for targets that 
do not require device-side codegen, but do require a `device_type` other than 
`kDLCPU`.  It wasn't caught by CI, as the issue only occurred with the 
combination of both PRs.
   
   1. #14918 updated `SplitHostDevice` to only modify the `"target"` attribute 
when a device-side function has been extracted.
   
   2. For VTA, there is no device-side function, as everything is done through 
host-side API calls.
   
   3. From (1) and (2), the VTA examples kept the target `T.target("ext_dev", 
host="llvm")` after the `SplitHostDevice` pass, instead of being updated to 
`T.target("llvm")`.
   
   4. #14945 restricted CombineContextCall to only apply to host-side passes.
   
   5. From (4) and (5), the `CombineContextCall` pass was no longer applied to 
the VTA context calls.
   
   This PR fixes `SplitHostDevice`, updating the target from 
`T.target("ext_dev", host="llvm")` to `T.target("llvm")`, even if no device 
sections have been extracted from the function.


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