Base on https://tvm-book.readthedocs.io/zh-cn/latest/old/read/transforms/chaos/div-to-mul.html, I get a test, which show the tvm can do **DivToMul** with **relay.transform.DivToMul**. But for a more common case, we may have a model which have many div operators, so it is not convenience to transform it one by one, and my question:Does tvm support DivToMul without indications,and transform all the div into mul for better performance ?
* test: ``` import tvm from tvm import relay import numpy as np for dtype, rtol in [("float16", 1e-3), ("float32", 1e-7), ("float64", 1e-12)]: x = relay.var("x", relay.TensorType((), dtype)) y = relay.Constant(tvm.nd.array(np.array([1.5]).astype(dtype))) z = x / y mod = tvm.IRModule.from_expr(z) transformed = relay.transform.DivToMul()(mod) assert transformed["main"].body.op.name == "multiply" np.testing.assert_allclose(transformed["main"].body.args[1].data.numpy()[0], 1 / 1.5, rtol=rtol) ``` * debug ``` (Pdb) n > divtomul.py(11)<module>() -> assert transformed["main"].body.op.name == "multiply" (Pdb) p transformed def @main(%x: float16 /* ty=float16 */) -> Tensor[(1), float16] { multiply(%x, meta[relay.Constant][0] /* ty=Tensor[(1), float16] */) /* ty=Tensor[(1), float16] */ } ``` --- [Visit Topic](https://discuss.tvm.apache.org/t/compile-does-tvm-support-divtomul-without-indications/18412/1) 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/07e93152a610299d14e25d67fd8e9e083a701bddfa477650edf647d045b955d4).