-
Notifications
You must be signed in to change notification settings - Fork 28
Description
In short, it is unclear whether target_vector_shape refers to the vector shape of the operand or that of the result and different places in the code base assume differently. It appears further assumptions were baked into other passes making the inconsistent behavior load-bearing, see an attempt to converge: #941.
Usage in expansion_utils.py and naming suggests this is the shape of the result. Usage in mma_utils.py suggests it is the shape of the operand (presumably "target" could mean "target of this operation", i.e., the operand).
The semantics must be clearly defined and one of the usages fixed, short of which the anything beyond simple matmuls is prone to correctness issues.
Some automated investigation here https://gist.github.com/ftynse/20a2830775b10d8c3195c3b22dcb8d99 but it didn't shed any new light on the problem.