Target possible flag values

While looking at the documentation I saw that when we create a Target instance we can pass to it various flags such as: “-device”, “-model”, and “-mtriple”. However, I could not find what values are currently supported for each flag (e.g. -device expects: “mali”, “arm_cpu”…). Do you know where I can find what values each flag currently supports?

Any helpful insights will be appreciated.

@nkami I’m not sure we’ve documented all of these, and some of them are passed directly to other libraries such as LLVM so their values depend on the version of those libraries. Are there some in particular you are curious about?

We have a list of flags in the source code: https://github.com/apache/tvm/blob/main/src/target/target_kind.cc#L214.

However, we don’t have a documentation right now…would be great if we do…

More specifically I have a few questions:

  1. What values can we pass for -model if we use -device=mali or -device=arm_cpu?
  2. If I create a target with -device=mali but do not specify the -model, will it work for all mali GPUs?
  3. Is there a value in the device flag for adreno GPUs? if not should I just not include the device flag when creating the target for OpenCL?

Thanks for the help.

Thanks I will take a look at it!

I think -model mostly influences performance in this case. I suggest specifying -model if at all possible.

Not sure about adreno–cc @csullivan.