Our concerns to put the supported operators in each codegen are readability and
maintenance. If we skip the central extern op module definition, we will need
every extern op function to use decorator, similar to the current TOPI
implementation:
```
@reg.register_extern_op("nn.conv2d", "gcc")
```
Considering most external codegen writers are not familiar with TVM codebase,
this could be confusion and hard to be maintained by others. That's why we
choose the most straightforward approach. In fact, the current TOPI
implementation is suffering from this problem as well, and we do have to plan
to somehow get rid of it. In addition, even the writer wants to support an op
that has never been supported and she forgets to put it to the outer module, it
is easy to find out in at the early stage. More importantly, it provides a
clear list to us about what kinds of ops can be supported externally.
---
[Visit
Topic](http://tracking.discuss.tvm.ai/tracking/click?d=2zHJ-oLuPzy-Sp0s1DTQwv6ZdHOSJcD8Hf0pAjYlbVALR8i8RXQQV7sOji-PiTDWHxn4bTA2GKvmmV4egbtEqN0E5Yqo78JP15smGHxtBDo6Pb6TjCfKAMickHv11Le-tGVX-w_VKSc8AfbhpRh6n8iBB5mUAQD8tgJSupVa2WKo0)
to respond.
You are receiving this because you enabled mailing list mode.
To unsubscribe from these emails, [click
here](http://tracking.discuss.tvm.ai/tracking/click?d=7cFgOaAA4XIBVlVKt_oyC07uihTjg4Q6cjeBRNRTiPqFBqfWq8Yc5FTfgk44-AFwrpbwKBpWjAAywxDZEM-bfavAonH01ThbyzbQygbMfp6-2FDugFqPehSliaZnXZnyWNmQVkWsvr7Fb7P89a7HADyFDUhQ4Xn_KpKo9HX64z-bdT7CSTrMoYv3Ak_kmOhvoA6ehKAjVramAQe75gFL0zmZIPowN0eN0oBcTG1Emzmg0).
Tianqi Chen, UW, Seattle, WA, 98105, United States
http://tracking.discuss.tvm.ai/tracking/unsubscribe?msgid=jlXTc4KwO6lWp_SXKTNjZQ2