Thanks for the RFC. Some comments and questions:

- While I agree that the JSON encoding is powerful to cover all possibilities, 
I am a bit confusing about the usage from a user's perspective. Are we 
expecting users to write a separate JSON file like `target.json` and use `tgt = 
tvm.target.create('target.json')`? Or could you elaborate some expected usages?

- Similar to the first question, the flexibility of JSON also implies 
complication, as no one knows what would be the available keys and values. Even 
in the current target system, we've seen may complains from users about how to 
correctly use targets (e.g., `-libs` can enable 3rd party library). For 
example, a user wants to use `llvm`, how can she know all the available options 
(i.e., `system_lib`, `mtriple`, `mattr`)?

- The value of `id` looks a bit weird to me, because `id` is usually unique in 
a data model. Accordingly, the naming alternative (e.g., `id: (target_key, 
target_type, name , kind)`) in the discussion makes more sense.

- I like the idea of composite target and believe it would be useful for BYOC. 
We could ask the developers to first register a target ID and create a 
specialized tag to specify the desire usage of the customized codegen (e.g., 1) 
offload to DNNL and fallback to LLVM if not suppport; 2) offload to TensorRT 
and fallback to CUDA if not support; 3) offload to an accelerator, fallback to 
DNNL or LLVM if not support.)





---
[Visit Topic](https://discuss.tvm.ai/t/rfc-tvm-target-specification/6844/9) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.ai/email/unsubscribe/904b4ef3038c5affb41d83733082aacce62cbcdc43d35b70ac2a831e04bf696b).

Reply via email to