intel / intel/graph-compiler

`ConvertGPUXToSPIRV` fail to lower the dynamic matmul correctly

Open
#403 0 comments 0 reactions 0 assignees View on GitHub
bug
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

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.