Thank you @hht

This is very useful.  I have two follow up questions. 

1) what is the purpose of external_mods in the LoweredOutput structure?   

2) Ia m wondering if I can get more details about how the CodeGen in TVM works? 
 I mean what is the sequence. I know it starts from Relay, and I am not sure if 
I understand the rest of the steps that lowers the Relay IR to target HW object 
code? 
[quote="hht, post:9, topic:6572"]
```
struct LoweredOutput {
  std::string graph_json;
  Map<std::string, IRModule> lowered_funcs;
  Array<tvm::runtime::Module> external_mods;
  std::unordered_map<std::string, tvm::runtime::NDArray> params;
};
```

And the IRModule shown above may have something to do with parallelism. And 
IRModule is something just like a lower function but not a module.

```
struct GraphCodegen {
 public:
  GraphCodegen() {
    auto pf = GetPackedFunc("relay.build_module._GraphRuntimeCodegen");
    mod = (*pf)();
  }
...
```

In build_module.cc, the lowered_funcs have been transformed into module.
[/quote]





---
[Visit 
Topic](https://discuss.tvm.ai/t/execution-order-of-operators-at-runtime-in-tvm/6572/11)
 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/a3a609b3f5e749fd302b4a626ec8bca786eb1a278a79eb084ea2190d0538a374).

Reply via email to