I am not sure if the clarification of packaging part is clear enough, but there
is actually a potential problem. The goal is to be able to conveniently
assemble code and metadata separately from the frontend in a modular way. The
generated artifact is intended to be usable by AOT, graph runtime, and VM for
both CSourceModule and JSON style runtime.
Here we need to pass back code and weight to the Python side. They may have to
be part of the lib because we only return bytecode/(graph, params) and lib for
VM and graph runtime, respectively. We are trying to use the so-called
`PackagingModule` (TBD) to do this. They will be imported to the lib after
compilation. Therefore, the module with external library code would look like
the following for `CSourceModule` after compilation for graph runtime and VM:
```
DSO (A)
|---PackageModule(code, {var_name, metadata}) (B)
```
>From the Python side, we can assemble it by extracting code and metadata from
>the imported `PackageModule` B (i.e. code = code of A.imported_modules[0],
>metadata = metadata of A.imported_modules[0]).
Then, we can assembly the modules and compile/interpret them. But I do have one
question when we are assembling them. The DSO module (A) contains the other
part of the graph that should be handled by TVM. We now actually want to
replace (B) with the newly created module (i.e. the `ModuleMetaDataWrapper`)
and then do `export_library` and load them back for execution. It seems we are
not really able to remove/replace it. One possible way I can think of is that
we can add a `ClearImports` method to `Module` to clear the imports for the DSO
and then we can package the new modules. @tqchen Does this sound good? Or do
you have any comments/suggestions?
---
[Visit
Topic](https://discuss.tvm.ai/t/byoc-runtime-json-runtime-for-byoc/6579/14) 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/4ec0b8d69d553458bfa95d240324b8c9ed6e7c2164f6133c98fbf5edf584ea89).