[Apache TVM Discuss] [Development/RFC] [Guideline] Relay AOT

2020-11-19 Thread Daniel Mu via Apache TVM Discuss


Thanks @areusch  for reply!

However, my maily question is that how do we express the op, like conv, in a 
subgraph. Still TE with python API or other C++ expression?

I mainly focus on the expression of the operators like conv, which programming 
in python by compute(some placeholder and lambda) and schedules. This might 
because the graph compiler is not AOT(which means not C/C++, in my mind) before 
and the operators in a graph can be expressed by python sufficiently.

Now we meet an AOT graph compiler. So is it necessary to program operators in a 
AOT way like C/C++?

I'm not sure if my understanding is wrong. Feel free to point it out. Thanks!





---
[Visit Topic](https://discuss.tvm.apache.org/t/guideline-relay-aot/5977/8) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/26c4d45cb3f551ea8f3fd4bcd39d0f99764bda4c4854de23666ed8a514dc3256).


[Apache TVM Discuss] [Development/RFC] [Guideline] Relay AOT

2020-11-19 Thread Daniel Mu via Apache TVM Discuss


Ah, I realize that I got it wrong before. Graph AOT compiler will not affect 
the operator's programming model.

But I still hope you @areusch  could help me confirm whether my current 
thinking is correct.

Thanks a lot!





---
[Visit Topic](https://discuss.tvm.apache.org/t/guideline-relay-aot/5977/9) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/da9c06ac841f3833e8a360b0d012106a6afe18a0ce20c3e775068bd26065c4e6).


[Apache TVM Discuss] [Development/RFC] [Guideline] Relay AOT

2020-11-19 Thread Andrew Reusch via Apache TVM Discuss


hi @ds1231h,

Your thinking seems correct to me. Choice of GraphRuntime and AOT runtime don't 
affect the operator implementation. Ultimately, the goal in compiling a full 
model is to produce an implementation of the [Module-based Model Runtime 
Interface](https://discuss.tvm.apache.org/t/discuss-module-based-model-runtime-interface/5025).
 TVM performs operator fusion and simplification of the model, which produces 0 
or more implemented operator functions. The goal of a graph-level runtime such 
as Graph or AOT is to manage memory associated with the overall model and 
invoke these operator functions in the correct order.

If you're just interested in the generated code for a particular operator, I 
don't think you need to be too worried about Graph/AOT runtimes. One exception 
is if you are considering subgraph offloading to e.g. BYOC as a mechanism to 
implement operators; though even then, this approach operates at a higher level 
(TE) than GraphRuntime and looks like operator fusion to the graph runtime.

Andrew





---
[Visit Topic](https://discuss.tvm.apache.org/t/guideline-relay-aot/5977/10) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/b43fe4dd987d72136d8e4d9881024bdc25a1a608ef8935a4cd56dce541ca035c).


[Apache TVM Discuss] [Development/RFC] [Guideline] Relay AOT

2020-11-19 Thread Daniel Mu via Apache TVM Discuss


Thanks a lot! @areusch





---
[Visit Topic](https://discuss.tvm.apache.org/t/guideline-relay-aot/5977/11) to 
respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click 
here](https://discuss.tvm.apache.org/email/unsubscribe/b1128321225e9ec47bcf14fbc9d937b37d445c21ec8732fe8abb7ea0744a1b39).