Why "c --unpacked-api" not work anymore?

we discussed this a bit at the TVM Community Meeting this morning:

  • Sebastian raised three concerns:

    1. Can we add a clean set of unit tests to document how tvm.relay.build is called and catch API changes?
    2. 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.
    3. Deprecated parameters are not handled in an ideal way. It’s hard to know what the set of options are.
  • We discussed that this breakage was likely due to relay.build allowing 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_options to provide better error messages since a few different folks have ran into problems here.

  • @gromero raised that tvmgen_default_run_model was renamed to tvmgen_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=0 was not supported. @gromero will reproduce this and raise a GH issue to capture this.

2 Likes