Closed jacobhinkle closed 4 weeks ago
!build --diff
I agree about symbolic domains and I think we might need to handle this at concretization. Namely if K is a broadcast dim then we should translate to a mul op before segmentation. I'll work on an example for a case like that.
This PR does the following:
MatmulOp
toir_utils::isTvOp
so that itsIterDomain
s will be automatically propagated byIdModel
.IdModel
through theMatmulOp
.MatmulOp
to have anIterType::Reduction
axis in the last position of its root domain to represent theK
dimension. This change was motivated by needing a way to have both operand K dimensions exact mapped together, as they would be if the op were translated to a mul+sum+cast.matmul
op to translate trivial cases where K=1 to simple multiply+cast patterns.Fixes #1707. In fact, that test was actually fixed by #2175 but the test validation was failing because
isTvOp
was not picking up the matmul as a reduction.