[microTVM] how to generate executable code for new hardware?

Hello, I would like to compile code that can be deployed on hardware using microTVM. However, I couldn’t find our hardware in the list of supported target hardware in TVM (our hardware uses the arm A55 chip).

What steps should I follow to compile for a new hardware target in microTVM?

Hi, I would be interested in this topic too. As far as I understand, the hardware target can be specified with a configuration string, e.g. “c -keys=arm_cpu,cpu …”.

When compiling for an embedded target, following the tutorials works without any problems. Also, changing targets to something supported in tvm/python/tvm/target/target.py works fine.

But I’m missing some general documentation on what the configurations mean and what must considered when compiling for a target that is not listed in target.py, e.g. NXP’s i.MX RT1170. More specifically, how the configuration string should look like and if there additional hardware information which must be provided, e.g. in form of a configuration file. In the code comments for the kind in the configuration string there are only two examples, llvm and cuda. But in some tutorials the kind c is used. So I’m wondering what other kinds there are and what exactly the differences between, let’s say llvm and c, are. Is the kind for embedded targets always c?

Is there some more documentation on this topic or is digging through the repository the only solution? I would be thankful for any information or pointers to additional resources.

Cheers