Recently I started to investigate tuning of kernels in TIR format by meta-scheduler. I prepared python script for it with minimal imports from TVM. As results It failed due to tvm.topi.x86.utils.target_has_vnni was not registered but used on native side of TVM. You can see my fix and details in PR. Nevertheless it looks like more general problem of TVM. There are many global functions distributed in TVM code and nobody follows when they are registered and used. Possibly the issue with microTVM in CI tests was related to the same thing.
I would discuss here how can my particlar problem be workarounded correctly and in the best way, and how global functions can be organized in TVM code to the better control and using of them.
cc @apeskov