we discussed this a bit at the TVM Community Meeting this morning:
-
Sebastian raised three concerns:
- Can we add a clean set of unit tests to document how
tvm.relay.buildis called and catch API changes? - Error messages are not detailed enough. The error message Sebastian received didn’t make sense unless he already knew in advance that the default executor was
graph. - Deprecated parameters are not handled in an ideal way. It’s hard to know what the set of options are.
- Can we add a clean set of unit tests to document how
-
We discussed that this breakage was likely due to
relay.buildallowing invalid build options in the past. PR 10283 tightened the set of allowed options. -
Gave some context on PR 9352 which originally introduced these runtime and executor parameters. This change is a half-step to the desired end state discussed in [pre-RFC] Compilation Configuration Representation. That RFC needs to be resolved before we can proceed here. We want to resolve this before releasing 0.9.
-
In the meantime, it seems like we should fix up the
_reconstruct_from_deprecated_optionsto provide better error messages since a few different folks have ran into problems here. -
@gromero raised that
tvmgen_default_run_modelwas renamed totvmgen_default___main__, and this was an externally-visible change. This shouldn’t have been an API change, but @gromero was working around a limitation in AOT where-link-params=0was not supported. @gromero will reproduce this and raise a GH issue to capture this.