[Apache TVM Discuss] [Development/RFC] [Guideline] Relay AOT
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
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
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
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).