The TOPI library seems to have a disconnect from graph oriented modules such as Relay.
While trying to create the schedule for a conv2d+bias_add+relu, I discovered a lack of a bias_add compute definition in the TOPI library. Before implementing my own simple bias_add with tvm.compute(… tvm.sum(…)), I tried exploring the Relay library to see how it implemented bias_add for any graph it might receive that contained that operator.
This is where my question came up; why does Relay have its own implementation of bias_add, whereas TOPI does not? I was under the impression that TOPI used compute and schedule definitions to support conversions between high-level graph ops and low-level IR. There seems to be a disconnect between these two and I’m trying to figure out why.
Is it because these two libraries are geared towards inherently different tasks and only have some overlap in functionality? Or is there just a lack of integration with each other?