forked from iree-org/iree
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[LLVMGPU] Refactor VirtualMMAIntrinsic to it's own attribute and enum. (
iree-org#19055) VirtualMMA are variants of MMAOps that has layouts modified through interleaved of reads and/or unrolled-K. These are especially useful for coalescing reads from shared memory to register and for FA to align layouts between the 1st and 2nd matmul. However, the current implementation of virtual MMA lives in MMAAttr and MMAIntrinsic which is a violation of abstractions. Especially since data_tiled_mma_layout is dependent on it. Additionally, having VirtualMMA in MMAAttr also limits the flexibility of adding more stuff and specification to it in the future. In order to resolve this conflict of abstractions, we are migrating VirtualMMAAttr to it's own enums and attr/class. Things that we have changed in this PR: 1. Factor our VMFMA from `MMAAttr` and `MMAIntrinsic` into it's own attr and enums `VirtualMMAAttr ` and `VirtualMMAIntrinsic`. 2. Update places that may use `MMAAttr` or `VirtualMMAAttr` to simply use `MmaInterfaceAttr` such as `KernelConfig`, `LLVMGPUConfigureTensorLayout`, and `AMDGPUDistributeContract`, `GPUNestedDistribution` 3. Move `get[A,B,C]SingleSubgroupLayout` as global method that works on `MmaInterfaceAttr`. --------- Signed-off-by: Stanley Winata <[email protected]>
- Loading branch information
1 parent
7498572
commit 271c748
Showing
10 changed files
with
449 additions
and
136 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.