You are viewing a plain text version of this content. The canonical link for it is here.
Posted to discuss-archive@tvm.apache.org by Steve via TVM Discuss <no...@discuss.tvm.ai> on 2020/05/01 03:24:18 UTC

[TVM Discuss] [Questions] Relationship between json and TVM Runtime: How operators are selected for execution


Thank you very much. 

How operators are running (or being scheduled) is one thing that TVM needs documentation. 
I think it is important for people to understand how the graph operators are being executed because there is more parallelism in the graph level than operator level in some networks (and it also has an impact on the HW).

Being said that, there are three aspects that I want to know.
1) Who is responsible for finding dependencies of graph operators (nodes) and identifies which operator to execute next? 
2) How we can able to change those schedule?

3) There is a code that says it executes operators, but I am not able to find answers to 1 and 2. Is there any references or helpful tips that can help me to answer 1 and 2? 

```
/*!
 * \brief Run all the operations one by one.
 */
void GraphRuntime::Run() {
  // setup the array and requirements.
  for (size_t i = 0; i < op_execs_.size(); ++i) {
    if (op_execs_[i]) op_execs_[i]();
  }
}

https://github.com/apache/incubator-tvm/blob/master/src/runtime/graph/graph_runtime.cc
```



[quote="comaniac, post:2, topic:6477, full:true"]
From my understanding, all operators are executed sequentially.
[/quote]





---
[Visit Topic](https://discuss.tvm.ai/t/relationship-between-json-and-tvm-runtime-how-operators-are-selected-for-execution/6477/3) 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/4a5ffa9d0b4f3fd36e11b0f5e6c34e249b90e0e485b6bc33e13c3b9da991d946).