Commit 988b62b
authored
[TritonIntelGPUToLLVM] Detect sub-group transpose
Detect sub-group transpose cases as those in which warp and lane
dimensions in the resulting linear layouts get swapped and no transfer
within block-groups is needed. Use sub-group write operations to store
the contents in local memory and vector operations to write back. These
will be translated to non-transposed and transposed store and loads
respectively. As data is moved within sub-groups, no barriers are
needed.
For now, handle only the case of a `single sub_group_size^2` block being
transposed.
Instead of using the `triton_gen` operation directly, we could be using
a higher level operation thus moving legalization to a common place, as
we are also legalizing this same operation in other places in our
codebase.
This may be split in the future by performing `N*M` iterations for
matrices of size `N*sub_group_sizexM*sub_group_size`.
---------
Signed-off-by: victor-eds <[email protected]>convert_layout cases (#2511)1 parent dd6afcd commit 988b62b
File tree
2 files changed
+555
-4
lines changed- test/Conversion/intel
- third_party/intel/lib/TritonIntelGPUToLLVM
2 files changed
+555
-4
lines changed
0 commit comments