[Mlir-commits] [mlir] [XeGPU] Add sg_map for scatter verification (PR #124300)

Jianhui Li llvmlistbot at llvm.org
Wed Jan 29 10:39:04 PST 2025


================
@@ -453,7 +453,16 @@ LogicalResult CreateDescOp::verify() {
   if (shape != tdescShape)
     return emitOpError("Incorrect TensorDesc shape. ")
            << "Expected is " << makeString(shape) << "\n";
-
+  if (auto sgMap = tdescTy.getSGMapAttr()) {
+    if (sgMap.getWiData()[0] > 1)
+      return emitOpError("TensorDesc cannot have wi_data[0] > 1.");
+    if (chunkSize != static_cast<int>(sgMap.getWiData()[1]))
+      return emitOpError("TensorDesc's chunkSize must match wi_data[1].");
+    if (int rank = tdescTy.getRank(); (sgMap.getWiLayout()[2 - rank] == 1))
----------------
Jianhui-Li wrote:

should the condition be "sgMap.getWiLayout()[2 - rank] != t_desc_shpe [0]"? 
meaning, for load with chunk_size, we expect the rank is 2, so wi_layout[0] and t_desc_shpe [0] should match (equal to subgroup_size). 
for load without chunk_size (size as 1), we expect the rank is 1, so wi_layout[1] and t_desc_shpe [0] should match (equal to subgroup_size). 

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


More information about the Mlir-commits mailing list