[Mlir-commits] [mlir] [mlir][mesh] Handling changed halo region sizes during spmdization (PR #114238)

Matteo Franciolini llvmlistbot at llvm.org
Thu Oct 31 14:29:07 PDT 2024


================
@@ -196,16 +197,18 @@ def Mesh_ShardingOp : Mesh_Op<"sharding", [
     e.g. the first sharded dimension gets [1,2] halos and the seconds gets [2,3] halos.
     `?` indicates dynamic halo sizes.
     
-    6. [Optional] Sizes of sharded dimensions of each shard.
-    `sharded_dims_sizes`is provided as a flattened 1d array of i64s: for each device of the
-    device-mesh one value for each sharded tensor dimension.
+    6. [Optional] Offsets for each shard and sharded tensor dimension.
+    `sharded_dims_offsets` is provided as a flattened 1d array of i64s:
+    For each sharded tensor dimension the offsets (starting index) of all shards in that dimension.
+    The offset of each first shard is omitted and is implicitly assumed to be 0.
----------------
mfrancio wrote:

Is there a particular benefit in following this convention? Would this allow, for example, to crop the last dimension and not get the full dimensionality of the tensor?

I would think that actually listing the offsets directly (exclusive prefix-sum) would be more intuitive if the above case is anyway disallowed.

https://github.com/llvm/llvm-project/pull/114238


More information about the Mlir-commits mailing list