[Codegen] Migrate InnerTiles to VectorizableOpInterface.#23767
[Codegen] Migrate InnerTiles to VectorizableOpInterface.#23767
Conversation
The revision moves the implementation to interface and retires the VectorizeIREEGPUOps pass. The pass and the location of the implementation were not moved during IREEGPU -> IREECodegen move, so they looks wrong. Signed-off-by: hanhanW <[email protected]>
|
|
||
| SmallVector<ShapedType> argTypes = tiledOp.getOperandShapedTypes(); | ||
|
|
||
| // Construct the (never used) zero padding value for each operand. |
There was a problem hiding this comment.
I don't think this is right. If the outer dimensions were dynamic I think the padding value would be used (inner dimensions are forced static). I suspect to be exceedingly correct we'd need the InnerTile interface to return the padding value to use, but I'm guessing this is a pre-existing issue so just updating the comment is fine.
There was a problem hiding this comment.
yeah, it's a pre-existing issue. Let me update the comment.
iree/compiler/src/iree/compiler/Codegen/Dialect/GPU/Transforms/Transforms.cpp
Lines 2010 to 2015 in b2f73e3
Signed-off-by: hanhanW <[email protected]>
| // CHECK-MASK-LABEL: func @tensor_multi_mma | ||
| // CHECK-FOLD-LABEL: func @tensor_multi_mma | ||
| // CHECK-GATHER-LABEL: func @tensor_multi_mma | ||
| // CHECK-MAP-STORE-LABEL: func @tensor_multi_mma |
There was a problem hiding this comment.
What's the purpose of this? Avoid false matches for check lines above?
| /*vector=*/result, | ||
| /*source=*/tensorAcc, |
There was a problem hiding this comment.
Nit:
| /*vector=*/result, | |
| /*source=*/tensorAcc, | |
| /*valueToStore=*/result, | |
| /*base=*/tensorAcc, |
The revision moves the implementation to interface and retires the VectorizeIREEGPUOps pass.
The pass and the location of the implementation were not moved during IREEGPU -> IREECodegen move, so they looks wrong.