Now,I woulde like to use te.extern to add an extern op level library ,like cuDNN. For complex ops, like conv2d or dense , we can add new dispatch rules in op strategy,like @softmax_strategy.register(["cuda", "gpu"]), and then redefine the compute with te.extern. But for some injective or broadcast ops, TVM define the same compute function across all targets. As follows,
RELAY_REGISTER_OP("nn.relu") .describe(R"code(Returns the relu input array, computed element-wise. .. math:: max(x, 0) )code" TVM_ADD_FILELINE) .set_num_inputs(1) .add_argument("data", "Tensor", "The input tensor.") .set_support_level(1) .add_type_rel("Identity", IdentityRel) .set_attr<FInferCorrectLayout>("FInferCorrectLayout", ElemwiseArbitraryLayout) .set_attr<FTVMCompute>("FTVMCompute", [](const Attrs& attrs, const Array<te::Tensor>& inputs, const Type& out_type) { return Array<te::Tensor>{topi::relu(inputs[0], 0.0f)}; }); Now, It seems that dispatch logic has been removed from TOPI. So how can I add new compute for relu? @haichen --- [Visit Topic](https://discuss.tvm.ai/t/relay-op-strategy/5247/20) to respond. You are receiving this because you enabled mailing list mode. To unsubscribe from these emails, [click here](https://discuss.tvm.ai/email/unsubscribe/22c3a7394ca4504768dd594002cc489cf8ee29474346fa2992b5c01ee96a8168).