Can someone explain how TVM optimizes models for different hardware, and what steps I should take if I want to make TVM support DSA chips?

Does TVM support optimizing models based on cache size, the number of cores, and similar information? If so, how does TVM optimize models based on these details? What hardware information does TVM use for model optimization?

Hi Jerly, please refer the following links

  1. Bring your own codegen to tvm (which may help you add your own backends) How to Bring Your Own Codegen to TVM
  2. VTA is a dsa for fpga implementations. It is an example to add backend to vta. It has been integrated in tvm and you can find it in tvm’s codebase. It also shows some examples using AutoTVM to tune some frequently-used operators (e.g., Conv). VTA Hope it is helpful. Good luck.