I would like to add new routes to the existing TOPI ops for calling functions implemented in external library (ex. cudnn), in order to compare the performance between tvm.compute and external library.
For example, ReLU and Softmax are only available for tvm.compute not for cuDNN or other external libraries.
I know that there is already for realizing this route. (ex. Conv2D ops)
I recently noticed that TOPI is now implemented with C++ and Python.
Which language should I implement the external library route? (C++ or Python)
And is this fix contribution welcomed?
for conv2ds, we are still using the python part. I think it is always good to start from python route and eventually add c++ support when they are stable
Python is good for quick prototyping. With nnvm register function, you can quickly implement your customized compute/schedule for any existing operator and register them with higher level. Then simply importing your registration module will override the default implementation.