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).