`ConvertGPUXToSPIRV` fail to lower the dynamic matmul correctly
- Dominant language
- C++
- Stars
- 54
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
**Reproduce**:
`gc-opt --gc-gpu-pipeline test.mlir`
**test.mlir**
```mlir
module @fragment_name attributes {"#dlti.sys_spec" = #dlti.target_system_spec<"CPU" : #dlti.target_device_spec<#dlti.dl_entry<"tile_size", 32 : i32>>>} {
func.func @dynamic_matmul_f16(%arg0: memref, %arg1: memref<1024x1024xf16>, %arg2: memref) {
%0 = bufferization.to_tensor %arg0 restrict : memref
%c0 = arith.constant 0 : index
%dim = tensor.dim %0, %c0 : tensor
%c1 = arith.constant 1 : index
%dim_0 = tensor.dim %0, %c1 : tensor
%1 = bufferization.to_tensor %arg1 restrict : memref<1024x1024xf16>
%2 = tensor.empty(%dim) : tensor
%cst = arith.constant 0.000000e+00 : f16
%3 = linalg.fill ins(%cst : f16) outs(%2 : tensor) -> tensor
%4 = linalg.matmul_transpose_b ins(%0, %1 : tensor, tensor<1024x1024xf16>) outs(%3 : tensor) -> tensor
bufferization.materialize_in_destination %4 in restrict writable %arg2 : (tensor, memref) -> ()
return
}
}
```
Contributor guide
Assessment
This issue has not been assessed yet.