@@ -1599,21 +1677,29 @@ class Dot22Scalar(GemmRelated):
...
@@ -1599,21 +1677,29 @@ class Dot22Scalar(GemmRelated):
_dot22scalar=Dot22Scalar()
_dot22scalar=Dot22Scalar()
@local_optimizer([T.mul])
@local_optimizer([T.mul])
deflocal_dot22_to_dot22scalar(node):
deflocal_dot22_to_dot22scalar(node):
"""
"""
:note: we upcast the scalar if after the multiplication with the dot this give the same type.
:note: we upcast the scalar if after the multiplication with the
.. note:
dot this give the same type.
We execute this optimizer after the gemm optimizer. This allow to give more priority to gemm that give more speed up then this optimizer, but allow the gemm optimizer to ignore this op.
.. note: We execute this optimizer after the gemm optimizer. This
allow to give more priority to gemm that give more speed up
then this optimizer, but allow the gemm optimizer to ignore
this op.
TODO: support when we can reorder the mul to generate a dot22scalar or fix the canonizer to merge them(1 mul with multiple inputs)
TODO: support when we can reorder the mul to generate a
dot22scalar or fix the canonizer to merge them(1 mul with multiple