Dear All,

I am wondering how the execution order of operators is defined at runtime in 
TVM?  
For example, in the following example, add1 and add2 are parallel, and how the 
TVM runtime schedules these on hardware? (Surely, it depends on target HW, but 
assuming we have a HW that its capable of executing parallel operators). 


```
x1 = relay.var('x1', shape=(10,2))
y1 = relay.var('y1', shape=(10,2))
add1 = relay.op.add(x1,y1) 

x2 = relay.var('x2', shape=(10,2))
y2 = relay.var('y2', shape=(10,2))
add2 = relay.op.add(x2,y2) 

z =  add1*add2
```

I asked a similar question 
[here](https://discuss.tvm.ai/t/relationship-between-json-and-tvm-runtime-how-operators-are-selected-for-execution/6477),
 but I did not get the answer that I was looking for.  Looking at the code for 
GraphRuntime, it looks like operators are executed one at a time 
[here](https://github.com/apache/incubator-tvm/blob/master/src/runtime/graph/graph_runtime.cc),
 it says the operators are executed one by one, **but t DOES NOT make sense**, 
how operators are executed ONE BY ONE When we have parallel hardware"





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

Reply via email to