tilelang.cuda.intrinsics.layout.mma_layoutΒΆ
AttributesΒΆ
FunctionsΒΆ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
groupID = %laneid >> 2 |
|
|
|
groupID = %laneid >> 2 |
A fragment layout for m16n8k64 e2m1 row-major operand. |
|
B fragment layout for m16n8k64 e2m1 col-major operand. |
|
|
Row-start addresses for ldmatrix.x4 loading A m16k64 e2m1. |
|
Row-start addresses for ldmatrix.x4 loading B n16k64 e2m1. |
|
Row-start addresses for ldmatrix.x2 loading B n8k64 e2m1. |
|
Inverse: (thread_id, local_id) -> (m, k) for A m16k64 e2m1. |
|
Inverse: (thread_id, local_id) -> (n, k) for B n8k64 e2m1. |
|
|
|
Module ContentsΒΆ
- tilelang.cuda.intrinsics.layout.mma_layout.metal_ct_store_32x16_to_16x32_layout(thread_id, local_id)ΒΆ
- tilelang.cuda.intrinsics.layout.mma_layout.metal_ct_store_index_map()ΒΆ
groupID = %laneid >> 2 threadID_in_group = %laneid % 4
- row = groupID for ai where 0 <= i < 2 || 4 <= i < 6
groupID + 8 Otherwise
col = (threadID_in_group * 2) + (i & 0x1) for ai where i < 4 (threadID_in_group * 2) + (i & 0x1) + 8 for ai where i >= 4
groupID = %laneid >> 2 threadID_in_group = %laneid % 4
- row = (threadID_in_group * 2) + (i & 0x1) for bi where i < 2
(threadID_in_group * 2) + (i & 0x1) + 8 for bi where i >= 2
col = groupID
A fragment layout for m16n8k64 e2m1 row-major operand.
B fragment layout for m16n8k64 e2m1 col-major operand.
Row-start addresses for ldmatrix.x4 loading A m16k64 e2m1.
Row-start addresses for ldmatrix.x4 loading B n16k64 e2m1.
Row-start addresses for ldmatrix.x2 loading B n8k64 e2m1.
Inverse: (thread_id, local_id) -> (m, k) for A m16k64 e2m1.
Matches CUTLASS/CuTe SM120 ALayout: Layout<Shape<Shape<_4,_8>, Shape<_8,_2,_2>>,
Stride<Stride<_128,_1>, Stride<_16,_8,_512>>>.
Inverse: (thread_id, local_id) -> (n, k) for B n8k64 e2m1.
- tilelang.cuda.intrinsics.layout.mma_layout.get_swizzle_layout(row_idx, col_idx, row_size, dtype, swizzle_bytes=None)ΒΆ
- Parameters:
dtype (tvm.DataType | str)