[Mlir-commits] [mlir] [mlir][linalg] Update pack and unpack documentation (PR #143903)
Andrzej WarzyĆski
llvmlistbot at llvm.org
Thu Jun 12 14:41:05 PDT 2025
================
@@ -246,12 +258,14 @@ def Linalg_UnPackOp : Linalg_RelayoutOp<"unpack"> {
The "unpack" operation converts a source tensor of rank `n` with a tiled and
packed layout to a result tensor of rank `n - k`.
- `inner_dims_pos` (mandatory) specifies `k` source tensor dimensions with
- which the last `k` source tensor dimensions are combined, where
- `0 < k <= n/2`. Each `inner_dims_pos` element must be `>= 0` and `< n - k`.
- The order of the dimensions in `inner_dims_pos` matters: dimension
- `inner_dims_pos[i]` is combined with dimension `n - k + i` (assuming that
- `outer_dims_perm` is not specified).
+ `inner_dims_pos` (mandatory) specifies `k` result tensor dimensions that
+ were tiled with the `inner_tiles` to create the packed source tensor. The
+ source tensor dimensions can be combined given `inner_dims_pos` as follows:
+ the inner tile `shape(source)[n-k+i]` is combined with
+ `shape(source)[inner_dims_pos[i]]` where `0 <= i < k` and stored at
+ `shape(result)[inner_dims_pos[i]]`. The remaining dimensions are
+ `shape(result)[j] = shape(source)[j]` where `0 <= j < n-k` and `j` is not in
+ the set of `inner_dims_pos` indices.
----------------
banach-space wrote:
Could you reduce text and perhaps use code instead? For example, it is not clear what "combined" means.
https://github.com/llvm/llvm-project/pull/143903
More information about the Mlir-commits
mailing list