iree-org / iree-org/wave

Reshape target_vector_shape semantics are inconsistent

Open
#942 2 comments 0 reactions 2 assignees Claimed by @harsh-nod View on GitHub
Dominant language
Python
Stars
59
Forks
32
PR merge metrics
No merged PRs in 30d

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.