You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
IMO, the pass would look at IREE::GPU::MmaInterfaceAttr attribute to enumerate tile sizes and set up encoding configs for each role. It gives us the set of supported intrinsics. E.g.,
I think as an initial step, we can set inner tile sizes to intrinsic sizes and increase them (for better unrolling) later. As discussed today, let's use linalg.generic to represent the mmt4d-like op for now.
The text was updated successfully, but these errors were encountered:
Putting an additional resource here before I forget it. We can review it together when we're discussing details.
Here is an upstream method which has very helpful logics. Ideally, we should refactor the method, and create a new method to return the packed generic op. We can't use the method directly in the materialization pass because it also generates pack/unpack ops. What we need is getting the linalg op in the materialization pattern; replace the contraction op with it.
Use the issue because it already has some context. E.g., the upstream method that we can use in the work. In the recent LLVMGPUTileAndFuse pipeline (pipeline_test), we already generates some pack/unpack ops in matmul codegen. This is what we want to do in GPU data-tiling.
The goal now is moving those packs to the materialization of set/unset encodings.
IMO, the pass would look at
IREE::GPU::MmaInterfaceAttr
attribute to enumerate tile sizes and set up encoding configs for each role. It gives us the set of supported intrinsics. E.g.,iree/compiler/src/iree/compiler/Codegen/LLVMGPU/KernelConfig.cpp
Lines 389 to 399 in 1fcb89d
I think as an initial step, we can set inner tile sizes to intrinsic sizes and increase them (for better unrolling) later. As discussed today, let's use linalg.generic to represent the mmt4d-like op for now.
The text was updated successfully, but these errors were encountered: