Thanks @Mousius I am not suggesting a decision on solutions, but just want to 
broadly discuss the implication,  of the engineering solutions. For example, to 
build on what you said

> Which leads me to believe we should default to a `Config` level tag which is 
> the highest level available? If we add in-between layers then this still 
> holds? For the same reason I wouldn’t want to use `Target` to define 
> everything, I can see the error in trying to explain a `Target` tag and a 
> `Config` tag and leading to confusion as to what a tag is - which I think 
> we’re agreeing on

This would results in two UX concepts. A target tag and config tag, and in the 
case of system implementations, possible two similar impls.

> This RFC doesn’t aim to address how you use the configuration so much as 
> define the fact the configuration will be there for you to use and rely on

I understand the original intention was to scope it as "top-level config". 
However, because config itself is a data structure(just like target) that 
involves "constraint settings throughout compilation", we naturally would to 
ask the following questions:
- Does the top-level config have to remain as in its most general form, e.g. 
can it be a `Union[Target,MultiTarget]`, as the most common case remains to be 
TargetWithHost
- We might have need to propagate some of the multi-target constraint info in 
the future to function level, at that time point, which data structure to 
use(if there is both config and target).
- The consistency of single device function's target attr and multi-device 
function's config attr.

> Are you suggesting something as simple as `configuration.to_json()` or 
> `configuration.serialize_targets()` which would return the array of JSON 
> represented `Target` ? Re-using the already defined schema for `Target` and 
> providing some way to extract it seems to function here?

Right, this would result in two concepts, target and config. Both of which are 
really similar to each other and both can appear in the same automation logs. 
We might need to build two set of mechanisms for both if they end up as 
drastically different data structure without a common base.





---
[Visit 
Topic](https://discuss.tvm.apache.org/t/pre-rfc-compilation-configuration-representation/11372/29)
 to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/2ef6b123c86621f3fc20ad5de5704f36ea46ace576f121f46fadd8a94c532ed8).

Reply via email to